Files
Meshtastic-Android/feature
James Rich 6d063a70aa feat(car): implement feature/car module with Car App Library 1.9.0-alpha01
Complete implementation of the Android Auto / AAOS car module:

Phase 1 - Setup:
- Version catalog entries (car-app 1.9.0-alpha01)
- Module build.gradle.kts with android-library, flavors, koin
- AndroidManifest with MESSAGING category, minCarApiLevel 8
- AAOS automotive_app_desc.xml
- Car-specific string resources
- ProGuard keep rules

Phase 2 - Foundation:
- MeshtasticCarAppService (CarAppService entry point)
- MeshtasticCarSession (session lifecycle, Crashlytics tagging)
- FeatureCarModule (Koin DI with ComponentScan)
- HomeScreen (TabTemplate: Messages + Nodes)
- CrashlyticsCarTagger, TemplateBuilders helpers
- CarUiModels (presentation state models)

Phase 3 - Messaging (MVP):
- MessagingScreen (300ms debounced invalidation, max 10 conversations)
- ConversationScreen (voice reply, read-aloud, max 5 messages)
- FuzzyNodeNameResolver (LCS-based voice name matching)
- MessageFilter (emoji/admin exclusion, 237-byte limit)
- BatchMessageLoader (50 unread on session start)
- CarNotificationManager (MessagingStyle + reply/mark-read)

Phase 4 - Emergency:
- EmergencyHandler (flow collection, alert state, audio tone)
- EmergencySpotlightBuilder (alert rows for messaging screen)
- EmergencySessionWiring (lifecycle attach/detach)

Phase 5 - Nodes:
- NodeDashboardScreen (sorted list, signal/battery, topology header)
- NodeDetailScreen (PaneTemplate with Message action)

Phase 6 - Channels:
- ChannelChipBuilder (ActionStrip with unread badges)

Phase 8 - Status Panel:
- MeshStatusPanel (connection, node count, last msg time)
- MeshStatusSessionWiring (Flow-based lifecycle)

Phase 9 - Voice:
- CarTtsEngine (TTS read-aloud)
- VoiceDmCoordinator (fuzzy resolve + voice DM flow)

Phase 10 - Polish:
- OnboardingScreen (no channels configured state)
- DisconnectedScreen (BLE disconnect graceful degradation)
- ProGuard consumer rules

Verified: spotlessApply ✓ detekt ✓ compileGoogleDebugKotlin ✓ assembleGoogleDebug ✓

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-21 20:05:07 -05:00
..