<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nav.git/android-app/app/src/main/assets/docs, branch main</title>
<subtitle>nav — android navigation app
</subtitle>
<id>https://git.terst.org/nav.git/atom?h=main</id>
<link rel='self' href='https://git.terst.org/nav.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/'/>
<updated>2026-07-02T02:56:25+00:00</updated>
<entry>
<title>fix+feat: layer cards, ocean floor, notifications, units, log, photos</title>
<updated>2026-07-02T02:56:25+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-07-02T02:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=80aa2531144563e8a117ffd81f6dd6d9af8bd574'/>
<id>urn:sha1:80aa2531144563e8a117ffd81f6dd6d9af8bd574</id>
<content type='text'>
Layer picker:
- Fix blank cards: app:layout_columnWeight → android:layout_columnWeight
  (GridLayout children require android: namespace for weight attributes)
- Add Distance unit chips (nm/km/mi) to UNITS section

Map layers:
- Fix ocean floor: use addLayerAbove(lastFillLayer) instead of addLayerAt(0)
  so base rasters appear above OFM water/land fills but below roads+labels
- CardView elevation 16dp→4dp to eliminate visible shadow border

Notifications:
- Add POST_NOTIFICATIONS to manifest
- Request it alongside location permissions on Android 13+ (TIRAMISU+)

Conditions sheet:
- showOverlay() now always hides bottom sheet (STATE_HIDDEN) so it can't
  leak onto non-map pages; bottom padding (80dp) added to Safety+Log panes

Log entries:
- Log entry form visible always (was only shown while recording)
- Photo-only events filtered from track timeline; photos appear only when
  paired with real text in a log entry

Anchor watch:
- Inputs and output radius now use configured depth unit (ft/m)
  with label updates and ft→m conversion before calculation

Photos:
- Tap thumbnail in track event log → fullscreen dialog viewer

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Four features: outbound link markers, offline content, log text/photo, departure picker</title>
<updated>2026-04-11T02:27:51+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-04-11T02:27:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=4a2d0298ab2caa3d62cfbd54c0071ae47eb89ccf'/>
<id>urn:sha1:4a2d0298ab2caa3d62cfbd54c0071ae47eb89ccf</id>
<content type='text'>
Learn tab
- ic_open_in_new.xml: external link icon (box + arrow) applied to all browser-opening cards
- Migration guide cards retain internal › chevron; ASA/Flashcards cards show ↗ icon
- New REFERENCE section (offline, works without connectivity):
  - ColRegs Rules of the Road → colregs_reference.md (rules 1–38, lights table,
    sound signals, day shapes, memory aids)
  - Sailing Quick Reference → sailing_reference.md (points of sail, Beaufort scale,
    nav lights, knots, buoyage IALA-B, VHF channels, distress signals, tide rule of 12)
- ColRegs card moved from external ASA section to offline REFERENCE section

Log entry
- LogEntry: add photoPath field (absolute file path or content URI string)
- VoiceLogViewModel: replace confirmAndSave() with save(text, photoPath?) so the
  fragment controls text (user may edit recognized speech before saving)
- VoiceLogFragment: redesigned layout with EditText (editable, voice fills it),
  camera button (TakePicturePreview → JPEG in cacheDir), gallery button (GetContent),
  photo thumbnail with remove button, Save / Clear row
- Manifest: add android.hardware.camera uses-feature (required=false)

Departure date/time picker (trip planning)
- ic_calendar.xml: calendar icon for the picker button
- PreTripReportViewModel: _departureMs StateFlow (default = now), setDeparture(ms)
- PreTripReportGenerator.generateReport(): departureDateTimeMs param;
  findDepartureSlot() matches nearest UTC forecast item; condition window labels show
  actual local times (e.g. "2 PM") when departure is not near-now; buildWatchList
  uses departure hour for Kona trades warning instead of system clock
- fragment_pretrip_report.xml: DEPART card with label + calendar button above generate
- PreTripReportFragment: MaterialDatePicker (future dates only) → MaterialTimePicker
  chain; auto-regenerates after picker confirms

https://claude.ai/code/session_01HXPjBsogsJVRwCiekDGkJX
</content>
</entry>
<entry>
<title>Add Learn tab; move quit to Safety; remove persistent MOB FAB</title>
<updated>2026-04-10T22:47:27+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-04-10T22:47:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=fc7192288109fc3542670cbeeaebe0de2a75eb74'/>
<id>urn:sha1:fc7192288109fc3542670cbeeaebe0de2a75eb74</id>
<content type='text'>
UI cleanup:
- Remove always-visible MOB FAB — Safety screen button is sufficient
- Remove floating quit button; move to bottom of Safety screen
- fragment_container is now clickable/focusable, blocking map touch-through
  for all overlays (trip reports, log, safety)
- Record Track FAB hidden while any overlay is shown, visible on map tab

New Learn tab (5th nav item):
- Migration guides for Navionics and Sea People (local markdown via DocFragment)
- ASA Course Catalog, ASA Online Learning, ColRegs, Sailing Flashcards
  (open in browser)
- Remove blanket assets/ .gitignore so markdown docs are tracked

https://claude.ai/code/session_01HXPjBsogsJVRwCiekDGkJX
</content>
</entry>
</feed>
