diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-05-12 13:13:55 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-05-12 13:13:55 -1000 |
| commit | f881a1f91f4e9f832ab987fce2b5220e100cee68 (patch) | |
| tree | cfa3d5e0c0f5e0d1cd2f74a49c20ce8c96b89ae2 /android-app/app/src/main/res/drawable | |
| parent | 1fe6fc2b0c5cabf21c241f9a033e4d53dd475316 (diff) | |
Add saved tracks browser, tack detection, and map zoom-to-bounds
- TackDetector: sliding-window COG algorithm (60-140deg delta = tack/jibe)
with stability check to prevent mixed-window false positives; 13 tests green
- TackEvent, SavedTrack: new models wrapping points + summary + detected tacks
- TrackRepository.getSavedTracks(): returns List<SavedTrack> with lazy load
- MapHandler: zoomToTrackBounds (LatLngBounds fit with padding),
panToPoint (log step-through), updateTackLayer (yellow circle markers)
- MainViewModel: savedTracks + selectedTrack StateFlows, panToPosition SharedFlow
- SavedTracksFragment: RecyclerView list with date/distance/duration/tack count
- TrackDetailSheet: bottom sheet with stats + event log (tacks, speed changes,
start/end); tapping an entry pans the map to that position
- MainActivity: zoom map on track complete, wire Saved Tracks button in
instrument sheet, observe panToPosition to drive map, show tack markers
when a saved track is selected
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'android-app/app/src/main/res/drawable')
| -rw-r--r-- | android-app/app/src/main/res/drawable/ic_back.xml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/android-app/app/src/main/res/drawable/ic_back.xml b/android-app/app/src/main/res/drawable/ic_back.xml new file mode 100644 index 0000000..3b56c6e --- /dev/null +++ b/android-app/app/src/main/res/drawable/ic_back.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:fillColor="?attr/colorOnSurface" + android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/> +</vector> |
