diff options
| author | Claudomator Agent <agent@claudomator> | 2026-03-13 20:02:16 +0000 |
|---|---|---|
| committer | Claudomator Agent <agent@claudomator> | 2026-03-13 20:02:16 +0000 |
| commit | 92bbfd909d621a0dcdfbbd25164cb0431c0b449d (patch) | |
| tree | 6994289b0c3048b3e7a75ae547c148ccc5b9193b /android-app/gradlew.bat | |
| parent | ac2fa45381a8d7d410eb85e62c6dd1ba59161461 (diff) | |
feat: Implement MOB (Man Overboard) alarm functionality
This commit introduces the core functionality for the Man Overboard (MOB) alarm.
Key changes include:
- Added a persistent, high-contrast red MOB Floating Action Button to the UI.
- Implemented dynamic location permission requests and initialization of LocationService.
- Created a MobWaypoint data class to store MOB location and timestamp.
- Developed the activateMob() function to:
- Capture current GPS coordinates.
- Set the active MOB waypoint and mark MOB as activated.
- Switch to a dedicated MOB navigation view, hiding other UI elements.
- Start a continuous, looping audible alarm (assumes R.raw.mob_alarm exists).
- Log the MOB event to the console (placeholder for future logbook integration).
- Implemented a MOB navigation view (ConstraintLayout) with real-time distance to MOB and elapsed time display.
- Added a recoverMob() function, triggered by a 'Recovered' button, to:
- Deactivate MOB mode.
- Stop and release the audible alarm.
- Restore the main UI visibility.
- Location updates are observed to continuously update the MOB navigation display.
- Ensured MediaPlayer resources are properly released on activity destruction.
Future enhancements (not part of this commit) include:
- Implementing a bearing arrow in the MOB navigation view.
- Integrating with a persistent logbook system.
Diffstat (limited to 'android-app/gradlew.bat')
0 files changed, 0 insertions, 0 deletions
