Skip to content

refactor(ui): remove redundant elements and make interface coherent - #29

Merged
duhow merged 1 commit into
mainfrom
copilot/update-ui-for-fitness-app
Jul 26, 2026
Merged

duhow merged 1 commit into
mainfrom
copilot/update-ui-for-fitness-app

Conversation

Copilot AI commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

The main screen accumulated incoherent UI leftovers — dead views, unicode-glyph "icons" in button labels, a view switcher that never indicated the active view, and metric cards that ignored dark mode. This cleans up the interface into a coherent fitness-recording UI (net −64 lines), following the Ponytail agent rules.

Dead UI removed

  • recordingIndicator ("● REC"): only ever set to GONE, never shown — deleted from both portrait/landscape layouts and SessionStateMachine.
  • btnWorkoutPause: present in both layouts but never referenced from any Kotlin code — deleted.

Real icons instead of text glyphs

  • Stripped ▶ Start, ◼ Stop, ◀ Back, ⏸ Pause glyph hacks from strings in all locales (en/es/ca).
  • Added ic_play vector and used it on the Start button, replacing the incongruous clock icon (ic_time).
  • Pruned six now-unused strings (recording, paused, workout_pause, workout_resume, start_session, stop_session) from all locales.

Lap/Chart switcher indicates active view

  • Converted viewToggleRow to a MaterialButtonToggleGroup (single-selection, selection-required). Previously the "Lap" button always looked selected regardless of the visible view.
  • All code paths (start, restore-after-rotation, user tap) now route through setWorkoutView(), which also syncs the checked button:
private fun setWorkoutView(showChart: Boolean) {
    isChartViewActive = showChart
    binding.viewToggleRow.check(if (showChart) R.id.btnViewChart else R.id.btnViewLap)
    ...
}

Dark-mode coherence

  • Added values-night/colors.xml with dark-tinted metric card backgrounds and lighter accents; cards previously kept hard-coded light pastel backgrounds under the DayNight theme.
  • Taught tools/lint.py language-parity check to skip non-locale values-* qualifiers (e.g. values-night, values-v31).

Also updated changelog 6.txt. Note: assembleDebug could not run in the sandbox (Google Maven blocked at AGP resolution — pre-existing, unrelated); please rely on CI for the build check. tools/lint.py passes 4/4.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Debug APK artifact is ready for commit 3509839 .
💾 Download APK artifact here.
Workflow run: https://github.com/duhow/ftms-bridge/actions/runs/30197643293

@duhow
duhow marked this pull request as ready for review July 26, 2026 10:13
@duhow
duhow merged commit d0939fb into main Jul 26, 2026
1 check passed
@duhow
duhow deleted the copilot/update-ui-for-fitness-app branch July 26, 2026 10:13
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