Meshtastic-Android/app
James Rich 8c46a0c946 feat: Add disconnect broadcast and improve app port handling
This commit introduces several enhancements to the service broadcasts and data handling:

-   **Disconnect Broadcast**: Adds and triggers a new `ACTION_MESH_DISCONNECTED` broadcast when the mesh connection state changes to `Disconnected`. This provides a more specific intent for apps to listen for disconnection events.

-   **Expanded App Port Handling**:
    -   Adds explicit broadcast actions for various app port numbers (e.g., `ATAK_PLUGIN`, `PRIVATE_APP`, `DETECTION_SENSOR_APP`).
    -   Ensures that packets for `ATAK`, `PRIVATE_APP`, and `DETECTION_SENSOR_APP` are now correctly broadcast to external applications.
    -   Implements a default behavior to broadcast any unrecognized port numbers, allowing for future extensibility and support for third-party apps.

-   **Backward Compatibility**: When broadcasting received data, a secondary broadcast with the numeric port number is also sent to maintain compatibility with older applications that may rely on it.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:10:00 -06:00
..
dependencies feat(wire): migrate from protobuf -> wire (#4401) 2026-02-04 00:01:12 +00:00
src feat: Add disconnect broadcast and improve app port handling 2026-02-07 15:10:00 -06:00
build.gradle.kts feat: Improve connection state broadcast and timing (#4498) 2026-02-07 18:52:35 +00:00
detekt-baseline.xml feat(wire): migrate from protobuf -> wire (#4401) 2026-02-04 00:01:12 +00:00
google-services.json Enable parallel installation of debug and release builds (#3596) 2025-11-02 23:26:50 +00:00
proguard-rules.pro build: Upgrade build configuration and dependencies (#4311) 2026-01-25 17:07:07 +00:00
README.md chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4438) 2026-02-04 02:41:48 +00:00

:app

Module dependency graph

graph TB
  :app[app]:::null

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 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-library fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;