summaryrefslogtreecommitdiff
path: root/android-app/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'android-app/app/src/main')
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt15
1 files changed, 8 insertions, 7 deletions
diff --git a/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt b/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt
index ecaddc0..f887a43 100644
--- a/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt
+++ b/android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt
@@ -88,6 +88,14 @@ class MainActivity : AppCompatActivity(), SafetyFragment.SafetyListener {
fabRecordTrack.setOnClickListener {
if (viewModel.isRecording.value) viewModel.stopTrack() else viewModel.startTrack()
}
+ // Observe immediately — pure UI state, not gated on GPS permission
+ lifecycleScope.launch {
+ viewModel.isRecording.collect { recording ->
+ val icon = if (recording) R.drawable.ic_close else R.drawable.ic_track_record
+ fabRecordTrack.setImageResource(icon)
+ fabRecordTrack.contentDescription = if (recording) "Stop Recording" else "Record Track"
+ }
+ }
}
private fun setupBottomSheet() {
@@ -262,13 +270,6 @@ class MainActivity : AppCompatActivity(), SafetyFragment.SafetyListener {
mapHandler?.updateTrackLayer(style, points)
}
}
- lifecycleScope.launch {
- viewModel.isRecording.collect { recording ->
- val icon = if (recording) R.drawable.ic_close else R.drawable.ic_track_record
- fabRecordTrack.setImageResource(icon)
- fabRecordTrack.contentDescription = if (recording) "Stop Recording" else "Record Track"
- }
- }
}
private fun startInstrumentSimulation(polarTable: PolarTable) {