Commit Graph

10 Commits

Author SHA1 Message Date
James Rich
11cfb0de7b feat(car): wire CarStateCoordinator to session and HomeScreen
- Add CarStateCoordinator bridging NodeRepository, PacketRepository,
  ServiceRepository, RadioConfigRepository, QuickChatActionRepository
  into car-optimized StateFlows
- Wire coordinator into MeshtasticCarSession lifecycle (start/destroy)
- Update HomeScreen to render real messaging and node lists from state
- Add core:database dependency for QuickChatAction entity access
- Fix FlavorModule ktfmt/ktlint conflict with @file:Suppress

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-21 20:05:07 -05:00
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
James Rich
c26ef946b1 feat(docs): upgrade Chirpy assistant with streaming and live diagnostics (#5564) 2026-05-21 10:25:19 -05:00
James Rich
ea85b906e8 feat(nav): rename tab labels to canonical order (#5551)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-20 17:57:08 -05:00
James Rich
228765a159 fix(ci): unblock Dokka documentation generation (#5496)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-19 13:00:45 -05:00
James Rich
83bb1a31f7 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5465) 2026-05-19 10:12:04 -05:00
James Rich
fc0df1a79a feat(docs): In-app documentation browser with Jekyll site and Docusaurus sync (#5445)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-19 04:00:22 +00:00
James Rich
f5128798a8 feat: adopt Material 3 Expressive design system (M3-native APIs only) (#5479)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-19 01:10:47 +00:00
James Rich
df4f10c4d6 fix(nav): remote admin nodenum + Nav3 consolidation and improvements (#5478)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-18 17:29:27 +00:00
James Rich
f4b6b02ace refactor(build): rename entry modules and remove DESKTOP_ONLY mode (#5476)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-18 12:44:12 +00:00