How zzznai/mobileapps2025-2401321010 works
This is an Android plant-care app. The user opens a plant list, selects a plant to view its care details, and can see watering timing/status based on plant, species, or category data. The graph also includes seasonal species guidance and database catalog seeding. The README describes no additional capabilities; several relationships rely on the SOURCE INDEX because the corresponding source was not excerpted.
Main entry points: WateringCalculator.kt Watering calculator · PlantDetailActivity.kt Plant detail screen · PlantRepository.kt Plant repository · PlantWithDetails.kt Plant with details
Components 22
Plant screens
- Plant list screen
app/src/main/java/com/naim/plantcare/ui/list/MainActivity.kt - List state
app/src/main/java/com/naim/plantcare/ui/list/PlantListViewModel.kt - Plant list adapter
app/src/main/java/com/naim/plantcare/ui/list/PlantAdapter.kt - Plant detail screen
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailActivity.kt - Detail state
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailViewModel.kt - Care display model
app/src/main/java/com/naim/plantcare/ui/PlantItem.kt - Watering status text
app/src/main/java/com/naim/plantcare/ui/WateringStatusText.kt
Care guidance
- Watering calculator
app/src/main/java/com/naim/plantcare/logic/WateringCalculator.kt - Season rules
app/src/main/java/com/naim/plantcare/logic/Season.kt
Plant data
- Plant repository
app/src/main/java/com/naim/plantcare/data/repository/PlantRepository.kt - Room database
app/src/main/java/com/naim/plantcare/data/PlantCareDatabase.kt - Plant queries
app/src/main/java/com/naim/plantcare/data/dao/PlantDao.kt - Category queries
app/src/main/java/com/naim/plantcare/data/dao/CategoryDao.kt - Species queries
app/src/main/java/com/naim/plantcare/data/dao/SpeciesDao.kt - Plant record
app/src/main/java/com/naim/plantcare/data/entity/Plant.kt - Plant category
app/src/main/java/com/naim/plantcare/data/entity/PlantCategory.kt - Plant with details
app/src/main/java/com/naim/plantcare/data/entity/PlantWithDetails.kt
Species catalog
- Species guidance
app/src/main/java/com/naim/plantcare/data/entity/PlantSpecies.kt - Light levels
app/src/main/java/com/naim/plantcare/data/entity/LightLevel.kt - Species CSV parser
app/src/main/java/com/naim/plantcare/data/SpeciesCsvParser.kt - Species data
app/src/main/assets/plant_species.csv
Other components
- Plant owner
Connections 36
- Plant owner → Plant list screen: opens
- Plant list screen → List state: creates
app/src/main/java/com/naim/plantcare/ui/list/MainActivity.kt - Plant list screen → Plant list adapter: displays
app/src/main/java/com/naim/plantcare/ui/list/MainActivity.kt - Plant list screen → Plant detail screen: opens selection
app/src/main/java/com/naim/plantcare/ui/list/MainActivity.kt - List state → Plant repository: observes
app/src/main/java/com/naim/plantcare/ui/list/PlantListViewModel.kt - List state → Watering calculator: calculates
app/src/main/java/com/naim/plantcare/ui/list/PlantListViewModel.kt - Plant list adapter → Care display model: renders
app/src/main/java/com/naim/plantcare/ui/list/PlantAdapter.kt - Plant list adapter → Watering status text: renders
app/src/main/java/com/naim/plantcare/ui/list/PlantAdapter.kt - Plant detail screen → Detail state: creates
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailActivity.kt - Plant detail screen → Plant repository: provides data
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailActivity.kt - Plant detail screen → Care display model: shows care
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailActivity.kt - Plant detail screen → Watering status text: shows status
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailActivity.kt - Plant detail screen → Season rules: uses seasons
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailActivity.kt - Detail state → Plant repository: loads plant
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailViewModel.kt - Detail state → Watering calculator: calculates
app/src/main/java/com/naim/plantcare/ui/detail/PlantDetailViewModel.kt - Care display model → Watering calculator: derives timing
app/src/main/java/com/naim/plantcare/ui/PlantItem.kt - Watering status text → Watering calculator: formats status
app/src/main/java/com/naim/plantcare/ui/WateringStatusText.kt - Watering calculator → Season rules: selects season
app/src/main/java/com/naim/plantcare/logic/WateringCalculator.kt - Watering calculator → Plant with details: evaluates
app/src/main/java/com/naim/plantcare/logic/WateringCalculator.kt - Watering calculator → Species guidance: reads intervals
app/src/main/java/com/naim/plantcare/logic/WateringCalculator.kt - Plant repository → Plant queries: queries plants
app/src/main/java/com/naim/plantcare/data/repository/PlantRepository.kt - Plant repository → Category queries: queries categories
app/src/main/java/com/naim/plantcare/data/repository/PlantRepository.kt - Plant repository → Species queries: queries species
app/src/main/java/com/naim/plantcare/data/repository/PlantRepository.kt - Room database → Plant queries: provides DAO
app/src/main/java/com/naim/plantcare/data/PlantCareDatabase.kt - Room database → Category queries: provides DAO
app/src/main/java/com/naim/plantcare/data/PlantCareDatabase.kt - Room database → Species queries: provides DAO
app/src/main/java/com/naim/plantcare/data/PlantCareDatabase.kt - Room database → Species CSV parser: loads catalog
app/src/main/java/com/naim/plantcare/data/PlantCareDatabase.kt - Species CSV parser → Species data: parses
- Species CSV parser → Species guidance: creates records
app/src/main/java/com/naim/plantcare/data/SpeciesCsvParser.kt - Species guidance → Season rules: maps intervals
app/src/main/java/com/naim/plantcare/data/entity/PlantSpecies.kt - Species guidance → Light levels: stores level
app/src/main/java/com/naim/plantcare/data/entity/PlantSpecies.kt - Plant queries → Plant with details: returns joined data
app/src/main/java/com/naim/plantcare/data/dao/PlantDao.kt - Plant record → Plant category: references
app/src/main/java/com/naim/plantcare/data/entity/Plant.kt - Plant with details → Plant record: embeds
app/src/main/java/com/naim/plantcare/data/entity/PlantWithDetails.kt - Plant with details → Plant category: relates
app/src/main/java/com/naim/plantcare/data/entity/PlantWithDetails.kt - Plant with details → Species guidance: relates
app/src/main/java/com/naim/plantcare/data/entity/PlantWithDetails.kt