From 925790fee2d3c092cb7ca20797c7b57eeff40fea Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 20 May 2026 09:33:31 +0000 Subject: Move Saved Tracks to Log tab; restore conditions sheet on back - hideOverlays() now resets bottomSheetBehavior to COLLAPSED/not-hideable, so the conditions sheet reappears correctly when returning from any overlay (previously it stayed hidden after navigating away via the track browser) - Remove btn_saved_tracks from the conditions sheet (layout + click handler) - Add btn_saved_tracks to the Log screen layout and wire it in VoiceLogFragment via MainActivity.showSavedTracks(); tracks live with the log, not with weather https://claude.ai/code/session_01YUbuZNDAoLea4cf9UGQ9qn --- .../app/src/main/kotlin/org/terst/nav/MainActivity.kt | 16 ++++++---------- .../kotlin/org/terst/nav/ui/voicelog/VoiceLogFragment.kt | 6 ++++++ .../app/src/main/res/layout/fragment_voice_log.xml | 9 +++++++++ .../app/src/main/res/layout/layout_instruments_sheet.xml | 14 -------------- 4 files changed, 21 insertions(+), 24 deletions(-) (limited to 'android-app/app') 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 a4453be..7ce417d 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 @@ -303,14 +303,6 @@ class MainActivity : AppCompatActivity(), SafetyFragment.SafetyListener { } } - // "Saved Tracks" button in the instrument sheet - findViewById(R.id.btn_saved_tracks).setOnClickListener { - showOverlay(SavedTracksFragment()) - bottomSheetBehavior.isHideable = true - bottomSheetBehavior.state = BottomSheetBehavior.STATE_HIDDEN - // Note: do NOT set selectedItemId here — it triggers the nav listener - // which calls hideOverlays(), immediately undoing showOverlay(). - } } /** Updates all static unit label TextViews to match current [unitPrefs]. */ @@ -435,13 +427,17 @@ class MainActivity : AppCompatActivity(), SafetyFragment.SafetyListener { .commit() } + fun showSavedTracks() { + showOverlay(SavedTracksFragment()) + } + internal fun hideOverlays() { fragmentContainer.visibility = View.GONE fabRecordTrack.visibility = View.VISIBLE fabLayers.visibility = View.VISIBLE - // fabRecenter visibility is managed by the isFollowing observer; just restore alpha fabRecenter.alpha = 1f - // Re-apply cached conditions in case they arrived while the overlay was covering the sheet + bottomSheetBehavior.isHideable = false + bottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED lastConditions?.let { applyConditions(it) } } diff --git a/android-app/app/src/main/kotlin/org/terst/nav/ui/voicelog/VoiceLogFragment.kt b/android-app/app/src/main/kotlin/org/terst/nav/ui/voicelog/VoiceLogFragment.kt index ab30d96..105057c 100644 --- a/android-app/app/src/main/kotlin/org/terst/nav/ui/voicelog/VoiceLogFragment.kt +++ b/android-app/app/src/main/kotlin/org/terst/nav/ui/voicelog/VoiceLogFragment.kt @@ -23,9 +23,11 @@ import com.google.android.material.button.MaterialButton import com.google.android.material.floatingactionbutton.FloatingActionButton import com.google.android.material.textfield.TextInputEditText import kotlinx.coroutines.launch +import org.terst.nav.MainActivity import org.terst.nav.R import org.terst.nav.logbook.VoiceLogState import org.terst.nav.logbook.VoiceLogViewModel +import org.terst.nav.track.SavedTracksFragment import java.io.File import java.io.FileOutputStream import java.util.Locale @@ -124,6 +126,10 @@ class VoiceLogFragment : Fragment() { .commit() } + view.findViewById(R.id.btn_saved_tracks).setOnClickListener { + (requireActivity() as MainActivity).showSavedTracks() + } + viewLifecycleOwner.lifecycleScope.launch { viewModel.state.collect { state -> renderState(state) } } diff --git a/android-app/app/src/main/res/layout/fragment_voice_log.xml b/android-app/app/src/main/res/layout/fragment_voice_log.xml index c1275a6..16c3574 100644 --- a/android-app/app/src/main/res/layout/fragment_voice_log.xml +++ b/android-app/app/src/main/res/layout/fragment_voice_log.xml @@ -153,4 +153,13 @@ android:layout_height="60dp" android:text="GENERATE TRIP REPORT" /> + + diff --git a/android-app/app/src/main/res/layout/layout_instruments_sheet.xml b/android-app/app/src/main/res/layout/layout_instruments_sheet.xml index f8dc365..31c445e 100644 --- a/android-app/app/src/main/res/layout/layout_instruments_sheet.xml +++ b/android-app/app/src/main/res/layout/layout_instruments_sheet.xml @@ -339,19 +339,5 @@ - - -- cgit v1.2.3