Skip to content

Android workouts: Start + Add action row (EXP-018 parity) - #1079

Merged
ryanbr merged 1 commit into
mainfrom
android-workouts-action-row
Aug 5, 2026
Merged

ryanbr merged 1 commit into
mainfrom
android-workouts-action-row

Conversation

@ryanbr

@ryanbr ryanbr commented Aug 5, 2026 •

Copy link
Copy Markdown
Owner

What this does

Brings the Android Workouts screen closer to the iOS redesign (#1068), from the parity gap-analysis:

  1. Start + Add action row (EXP-018). Co-laid equal-width: bonded → [ Start ][ Add ]; unbonded → [ Add ] (moved up out of RangeBar so it's reachable without a strap — which also retires the [Oura Ring] - one-packet framing refactor + sleep-phase fix + honest activity estimate #234/Respiratory rate: prefer PPG-derived estimate over RSA when available (#103) #339 Add-vs-range-pill fit workaround); active workout → the live banner keeps Add below it. Add is visible in every state (no control disappears); WorkoutStartSection is its single home, so the empty-state card no longer doubles it and the dead loaded gate is dropped.
  2. Sport-icon picker. The workout picker rows now show per-sport glyphs (shared sportIcon catalogue), so it reads by icon like the iOS WorkoutSelectionScreen and the Workouts list rows — not a bare text list.
  3. Filter polish. The Clear-filters chip moved onto the search-field row with a 48dp hit target, matching iOS's search-row placement + 44pt target.

Deliberate scope choice

Start stays bonded-gated (a live session needs the strap to stream HR) — unlike iOS, which never gates its start button. Display-only; does not change when Start is available.

Cross-platform

Android-only (iOS via #1068). No analytics, decoder, stored-data, or BLE change — same actions/flow. No new strings (reuses existing localized copy; sportIcon catalogue already parity with WorkoutSport.all).

Testing

  • :app:compileFullDebugKotlin — BUILD SUCCESSFUL.
  • Tools/i18n_audit.py --ci — exit 0.
  • Not device-verified — Compose can't render on this Linux box; the action-row button sizing, picker icons, and Clear chip placement want an on-device glance before merge.

@ryanbr
ryanbr force-pushed the android-workouts-action-row branch 2 times, most recently from 43d2825 to b88043d Compare August 5, 2026 04:56
Bring the Android Workouts screen closer to the iOS redesign (#1068):

- Co-lay Start + Add as an equal-width action row (EXP-018). Bonded → side by
  side; unbonded → Add alone (moved up out of the range bar so it's reachable
  without a strap, which also retires the #234/#339 Add-vs-range-pill fit fix);
  during an active workout the live banner keeps Add below it. Add stays visible
  in every state; WorkoutStartSection is its single home so the empty-state card
  no longer doubles it, and the dead `loaded` gate is dropped.
- Give the sport picker per-sport glyphs (shared `sportIcon` catalogue) so it
  reads by icon like the iOS workout selection screen and the Workouts list rows,
  not a bare text list.
- Move the Clear-filters chip onto the search-field row with a 48dp hit target,
  matching iOS's search-row placement + 44pt target.

Display-only: Start is still bonded-gated (a live session needs the strap), no
change to when it's available. Android-only (iOS via #1068). No new strings.
compileFullDebugKotlin + i18n audit green; layout not device-verified.
@ryanbr
ryanbr force-pushed the android-workouts-action-row branch from b88043d to e74fcec Compare August 5, 2026 05:12
@ryanbr
ryanbr merged commit cbec7fd into main Aug 5, 2026
3 checks passed
@ryanbr
ryanbr deleted the android-workouts-action-row branch August 5, 2026 07:07
simoncad7 pushed a commit to simoncad7/noop that referenced this pull request Aug 17, 2026
…ish (ryanbr#1079)

Co-lay Start+Add as an equal-width action row (EXP-018, Add visible in every state), give the sport picker per-sport glyphs, and move the Clear-filters chip onto the search row with a 48dp target. Matches iOS ryanbr#1068. Display-only, Android-only, no new strings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant