🥗 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 :
| Destination | Affiche |
|---|---|
Home | Accueil nutrition (journal du jour) |
Diary(date: Long?) | Journal pour une date (epoch ms ; null = aujourd'hui) |
Plans | Liste des plans nutrition |
Plan(id: String) | Un plan nutrition précis |
Recipes | Liste 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 |
Cart | Panier |
ShoppingList | Liste de courses |
Settings | Paramètres nutrition |
AddSelection | Sélection aliment/repas |
PermissionTest | Test 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)
Navigation native adaptative
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.