mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
- Move MeshtasticCarAppService, CarSession, CarScreen from app/auto to the new :feature:auto module (meshtastic.android.library) - Move automotive_app_desc.xml → auto_app_desc.xml (respects resourcePrefix) - Move manifest entries (service + meta-data) into feature module so they merge into app rather than living in the app manifest directly - Fix HostValidator: use ApplicationInfo.FLAG_DEBUGGABLE instead of BuildConfig.DEBUG (library modules don't ship their own BuildConfig) - Fix stale unread counts: replace point-in-time getUnreadCount() with flatMapLatest + per-conversation getUnreadCountFlow() so the car screen invalidates on new messages, not just topology changes - Fix ConversationShortcutManager: replace removeAllDynamicShortcuts + addDynamicShortcuts with pushDynamicShortcut per conversation to preserve usage/ranking history; remove stale shortcuts individually; respect getMaxShortcutCountPerActivity() limit - Fix SHORTCUT_CATEGORY_CONVERSATION: constant lives on ShortcutInfo, not ShortcutManagerCompat - Remove androidx.car.app dependency from :app (now owned by :feature:auto) - Add :feature:auto to settings.gradle.kts and app dependencies Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle.kts | ||
| detekt-baseline.xml | ||
| README.md | ||
:core:service
Overview
The :core:service module contains the abstractions and client-side logic for interacting with the main Meshtastic Android Service.
Key Components
1. ServiceClient
The main entry point for other parts of the app (or third-party apps) to bind to and interact with the mesh service via AIDL.
2. ServiceRepository
A high-level repository that wraps the service connection and exposes reactive Flows for connection status and data arrival.
3. ConnectionState
An enum representing the current state of the radio connection (Connected, Disconnected, DeviceSleep, etc.).
4. ServiceAction
Defines Intent actions for starting, stopping, and interacting with the background service.
Module dependency graph
graph TB
:core:service[service]:::kmp-library
classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-application-compose fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef compose-desktop-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-library-compose fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library-compose fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;