Files
Meshtastic-Android/feature
James Rich af55e642cd fix(car): address code review findings — lifecycle, security, thread safety
Critical fixes:
- EmergencyHandler: recreate scope on startCollecting() (singleton was permanently dead after first session)
- MeshtasticCarAppService: gate ALLOW_ALL_HOSTS_VALIDATOR behind BuildConfig.DEBUG, add hosts_allowlist.xml for production

High fixes:
- MeshtasticCarSession: wire destroy() via DefaultLifecycleObserver on ON_DESTROY
- MeshStatusPanel: remove unused CoroutineScope (no coroutines launched)
- CarStateCoordinator: use MutableStateFlow for channel index, ConcurrentHashMap for messagesCache
- CarTtsEngine: wire shutdown() call into coordinator destroy()

Medium fixes:
- NodeDetailScreen: replace all hardcoded strings with R.string resources
- DisconnectedScreen: replace hardcoded strings with resources
- Add comprehensive string resources for time formatting and status labels

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