| Age | Commit message (Collapse) | Author |
|
- Add VoiceLogFragment, VoiceLogViewModel, VoiceLogState, LogEntry, InMemoryLogbookRepository
- Wire voice log FAB in MainActivity to show/hide fragment container
- Add RECORD_AUDIO permission to manifest
- Add native CMakeLists.txt and native-lib.cpp stubs
- Fix missing BufferOverflow import in LocationService
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
layout_bottom_toTopOf → layout_constraintBottom_toTopOf on fab_tidal.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
App Distribution
|
|
|
|
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.
|
|
|
|
|