Audio settings (music ducking, combo repeat) and status bar timer notification #13

Merged
berkay merged 1 commit from audio-settings-timer-notification into main 2026-11-10 12:58:08 +03:00
Owner

Requested by Berkay · project thread

What

  1. Lower music while speaking (Settings > Sound): on = other apps' music ducks during callouts (old behaviour, default); off = the voice is spoken without asking for audio focus, so music keeps its volume.
  2. Say each combo: Every time (default) / First two times / First time only. Counted per combo, per round. Once the limit is reached, each later call plays a short double-knock cue (assets/sounds/strike_cue.wav) instead of the voice. Row hides when voice callouts are off.
  3. Timer notification: the foreground-service notification was on a LOW-importance channel, which most phones treat as silent and hide from the status bar. It now uses a new bagdrill_timer channel with DEFAULT importance (no sound, no vibration, alert once), a monochrome timer status-bar icon, and the time left first in the title (2:45 · Round 1 / 3).

Tests

flutter analyze clean, flutter test 75 passing (4 new controller tests, settings test extended).

No APK built, no version bump.

🤖 Generated with Claude Code

https://claude.ai/code/session_015s4aKn6Q7AftVbZ2Mi5d1v

<!-- claude-projects-attribution --> _Requested by **Berkay** · [project thread](https://claude.ai/code/project/chan_01T5Cs4GeJAnhjXKSJKvCDa2?thread=cmsg_01T5Cs4GeJAnhjXKSJKvCDa27aDoFiirb6FRcT1pYH9rw7)_ ## What 1. **Lower music while speaking** (Settings > Sound): on = other apps' music ducks during callouts (old behaviour, default); off = the voice is spoken without asking for audio focus, so music keeps its volume. 2. **Say each combo**: Every time (default) / First two times / First time only. Counted per combo, per round. Once the limit is reached, each later call plays a short double-knock cue (`assets/sounds/strike_cue.wav`) instead of the voice. Row hides when voice callouts are off. 3. **Timer notification**: the foreground-service notification was on a LOW-importance channel, which most phones treat as silent and hide from the status bar. It now uses a new `bagdrill_timer` channel with DEFAULT importance (no sound, no vibration, alert once), a monochrome timer status-bar icon, and the time left first in the title (`2:45 · Round 1 / 3`). ## Tests `flutter analyze` clean, `flutter test` 75 passing (4 new controller tests, settings test extended). No APK built, no version bump. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_015s4aKn6Q7AftVbZ2Mi5d1v
- Settings > Sound: "Lower music while speaking" toggle (ducking on/off).
- Settings > Sound: "Say each combo" = every time / first two times /
  first time only, counted per round; later calls play a short knock cue.
- Workout notification uses a new DEFAULT-importance silent channel so it
  shows in the status bar, a monochrome timer icon, and puts the time
  left first in the title.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015s4aKn6Q7AftVbZ2Mi5d1v
berkay merged commit 1211ec55c8 into main 2026-11-10 12:58:08 +03:00
berkay deleted branch audio-settings-timer-notification 2026-11-10 12:58:08 +03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
berkay/bagdrill!13
No description provided.