Skip to content

Phase D2: rest chip in the top bar, and peek at the elapsed time - #26

Merged
prithvimk merged 5 commits into
mainfrom
ccr-e244c17d-k7rr0f
Nov 1, 2026
Merged

prithvimk merged 5 commits into
mainfrom
ccr-e244c17d-k7rr0f

Conversation

@prithvimk

Copy link
Copy Markdown
Owner

Finishes Phase D2 (F06 and F22 from the design review). The rest bar above the keypad is gone; the rest now lives in the top bar's time chip.

Rest chip (F06)

  • During rest: the chip shows the countdown with a ring that empties. It turns primary and pulses gently for the last 10 seconds. The phone still vibrates at zero, as before.
  • Tapping it: opens −15 s / +15 s / Skip in a pill centred under the chip. The pill stays open for repeated adjustments, and closes on Skip, a tap outside it, or Back.
  • Outside rest: the chip shows the elapsed time on a plain surface container (it was secondary container in Phase D2: compact logger top bar and Resume workout on the summary #25), so the two times differ by colour as well as by icon.
  • Size: the chip and Finish still share one size.

Peek at the elapsed time (F22)

  • Tapping the routine title during rest: spins the chip round to the elapsed time in inverted colours, with a line that drains over 5 seconds before it spins back. Tapping the title again flips it back sooner.
  • Tapping the chip mid-peek: ends the peek and opens the rest controls.
  • Rest ending mid-peek: leaves the chip on the elapsed time.
  • TalkBack: the chip's label carries both times ("Rest 1:23 left, elapsed time 47:18"), and "Show elapsed time" is a custom action.
  • Animations off: the faces cross-fade instead of spinning. The pulse is off too.
  • First-rest hint: a one-time tooltip under the title on the first rest. It is remembered in the app's preferences (HintStore, with a small Robolectric test).

Plan

D2's last two items are ticked in docs/IMPLEMENTATION_PLAN.md, and its progress notes now say D2 is done. Next up: D3, D4 and D5, in any order.

D2's "Done when" check is met. On a Pixel 7, with the bottom bar, the keypad open and a rest running, all four sets of a four-set exercise show under its header. This was rendered with Roborazzi, outside the repo.

Note on the branch history

The branch was restarted from main after #25 was squash-merged. A force push wasn't available, so GitHub's copy of the branch was merged in with -s ours. That merge changes no files, but the commit list shows #25's two original commits. The diff against main is only this change, and a squash merge lands it as one commit.

Checks

./gradlew testDebugUnitTest ktlintCheck lintDebug assembleDebug passes locally.


Generated by Claude Code

The logger's big title, timer and bottom Discard/Finish footer give way to a
top bar: routine name, an elapsed-time chip, a filled Finish button, and a
menu with Workout notes, Add exercises and Discard workout. Workout notes
move to the end of the list, shown once they have text or are picked from
the menu, which scrolls to them and focuses them.

The finish summary offers Resume workout, which reopens the session after
a Finish tapped by mistake (not for a workout the app ended for being idle).
The workout detail's editor moves its Done button into its top bar, so the
shared editor has no footer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014thT5Fj3sGZDfK8zFRTiXW
Both are 40 dp tall and take the width of the wider of the two, so they
stay matched when the timer passes an hour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014thT5Fj3sGZDfK8zFRTiXW
The rest bar above the keypad is gone. During rest the top bar's time chip
shows the countdown with a ring that empties; it turns primary and pulses
in the last 10 seconds, and tapping it opens -15 / +15 / Skip. Outside
rest it shows the elapsed time on a plain container.

Tapping the routine title during rest spins the chip round to the elapsed
time in inverted colours, with a line that drains over 5 seconds before it
spins back; tapping again flips it back sooner. The chip's TalkBack label
carries both times and offers the peek as an action. With animations off
the faces cross-fade instead of spinning. A one-time tooltip under the
title points the peek out on the first rest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014thT5Fj3sGZDfK8zFRTiXW
…orce push

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014thT5Fj3sGZDfK8zFRTiXW
The -15 / +15 / Skip menu becomes a pill-shaped popup centred on the chip
it opens from, kept inside the screen, growing in from the chip. It still
closes on Skip, a tap outside it, or Back.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014thT5Fj3sGZDfK8zFRTiXW
@prithvimk
prithvimk merged commit 8ea15e5 into main Nov 1, 2026
2 checks passed
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.

2 participants