summaryrefslogtreecommitdiff
path: root/android-app/app
diff options
context:
space:
mode:
authorClaude <noreply@anthropic.com>2026-05-20 09:33:31 +0000
committerClaude <noreply@anthropic.com>2026-05-20 09:33:31 +0000
commit925790fee2d3c092cb7ca20797c7b57eeff40fea (patch)
tree4b5e123ca7316530f4e1ea6d0ba06b4639a090be /android-app/app
parent808939ca722bb760517a5ffaddedb9bb06091125 (diff)
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
Diffstat (limited to 'android-app/app')
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt16
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/ui/voicelog/VoiceLogFragment.kt6
-rw-r--r--android-app/app/src/main/res/layout/fragment_voice_log.xml9
-rw-r--r--android-app/app/src/main/res/layout/layout_instruments_sheet.xml14
4 files changed, 21 insertions, 24 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 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<View>(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<MaterialButton>(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" />
+ <com.google.android.material.button.MaterialButton
+ android:id="@+id/btn_saved_tracks"
+ style="@style/Widget.Material3.Button.OutlinedButton"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="12dp"
+ android:text="Saved Tracks"
+ android:textAllCaps="false" />
+
</LinearLayout>
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 @@
</LinearLayout>
- <!-- Saved Tracks button -->
- <com.google.android.material.button.MaterialButton
- android:id="@+id/btn_saved_tracks"
- style="@style/Widget.Material3.Button.OutlinedButton"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginHorizontal="16dp"
- android:layout_marginTop="12dp"
- android:layout_marginBottom="8dp"
- android:text="Saved Tracks"
- android:textAllCaps="false"
- app:layout_constraintTop_toBottomOf="@id/forecast_row"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>