Aller au contenu principal

🥗 Module Nutrition (Android)

Les écrans du module Nutrition sont atteints via AzeooDestination. Voir aussi Navigation Android.

sdk.navigate(AzeooDestination.Nutrition.Plan(id = "abc-123"))

L'intégration du module (fragment / vue Compose) est documentée plus bas ; cette page est la référence des destinations.

Destinations

Chaque écran nutrition routable, en sous-classe de AzeooDestination.Nutrition :

DestinationAffiche
HomeAccueil nutrition (journal du jour)
Diary(date: Long?)Journal pour une date (epoch ms ; null = aujourd'hui)
PlansListe des plans nutrition
Plan(id: String)Un plan nutrition précis
RecipesListe des recettes
Recipe(id: Long, name: String?)Une recette précise
Scanner(kind: ScannerKind = BARCODE)Scanner code-barres / mobile / IA
Search(initialMealType: MealType?)Recherche d'aliments
AddFood(mealType: MealType)Flux d'ajout d'aliment
AddMeal(mealType: MealType)Flux d'ajout de repas
CartPanier
ShoppingListListe de courses
SettingsParamètres nutrition
AddSelectionSélection aliment/repas
PermissionTestTest des permissions (debug)

Types associés

enum class ScannerKind { BARCODE, MOBILE, AI }
enum class MealType { BREAKFAST, LUNCH, DINNER, SNACK }

Exemples

Ouvrir un plan précis

sdk.navigate(AzeooDestination.Nutrition.Plan(id = "summer-plan-2025"))

Ouvrir une recette avec un nom d'affichage

sdk.navigate(AzeooDestination.Nutrition.Recipe(id = 12345, name = "Grilled Chicken Salad"))

Ouvrir le journal pour une date précise

val yesterdayMs = System.currentTimeMillis() - 24 * 60 * 60 * 1000L
sdk.navigate(AzeooDestination.Nutrition.Diary(date = yesterdayMs))

Ouvrir le flux d'ajout d'aliment pour le petit-déjeuner

sdk.navigate(AzeooDestination.Nutrition.AddFood(mealType = MealType.BREAKFAST))

Ouvrir le scanner IA

sdk.navigate(AzeooDestination.Nutrition.Scanner(kind = ScannerKind.AI))

Intégrer le module

Fragment (XML / système de vues)

val nutritionFragment = sdk.modules.nutrition.getFragment(bottomSafeArea = false)
supportFragmentManager
.beginTransaction()
.replace(R.id.flutter_container, nutritionFragment, "nutrition")
.commitNow()

Compose

sdk.modules.nutrition.ComposeView(bottomSafeArea = true)

Si vous utilisez BottomNavigationView / NavigationRailView / Jetpack Navigation, installez un conteneur de modules une fois au démarrage pour que sdk.navigate(...) inter-modules bascule automatiquement votre UI native :

sdk.setModuleContainer(AzeooBottomNavCoordinator(
bottomNav = findViewById(R.id.bottom_nav),
mapping = mapOf(
AzeooDestination.Module.NUTRITION to R.id.nav_nutrition,
AzeooDestination.Module.TRAINING to R.id.nav_training,
),
))

Retour arrière

sdk.back() // pop one screen
sdk.backToRoot() // back to nutrition home
sdk.canGoBack { result -> /* Boolean */ }

Retour système / retour prédictif — voir Navigation Android — Retour.

Voir aussi