Skip to content

fix(tv): remote media keys act directly; center the seek preview on the thumb - #124

Merged
JonahMMay merged 3 commits into
mainfrom
fix/tv-seek-scrub-start-over
Sep 30, 2026
Merged

JonahMMay merged 3 commits into
mainfrom
fix/tv-seek-scrub-start-over

Conversation

@JonahMMay

Copy link
Copy Markdown
Contributor

Brings two fixes to main that missed it.

Remote media keys act directly (from #123)

In both the live TV and regular players, pressing play/pause on the Samsung remote brought up the controls but didn't pause. Both players now handle the remote's transport keys wherever focus is:

Key Movies / shows Live TV
Play/Pause toggle toggle
Play / Pause set that state set that state
Stop leave the player leave the player
FF / Rewind ±15 s ignored (live)

Seek preview centred on the thumb (8818ec9)

The time bubble was positioned as if it were always as wide as a trickplay thumbnail (176 px), measured against the full width of the bar. Without trickplay it is just a narrow time label, so it sat about 50 px behind the thumb and drifted further toward the ends. It now uses its real width, centred on the thumb's position along the inset track and clamped to the bar (seekPreviewLeft).

Testing

  • dart analyze lib test: no issues
  • flutter test (prairie_core): 202 passed, including new tests for both fixes.
  • Not yet run on the TV.

🤖 Generated with Claude Code

JonahMMay and others added 3 commits September 30, 2026 17:22
The preview bubble was placed as if it were always 176px wide (a trickplay
tile) and against the full bar width, so a bare timecode sat ~50px behind
the thumb and drifted further toward the ends. Lay it out from its real
width, centered on the thumb's inset track position, clamped to the bar.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Pressing play/pause on the Samsung remote only counted as "any key": it
brought the player chrome up without pausing, and the on-screen button then
had to be focused and selected. Both players now handle the remote's media
keys wherever focus is: play/pause toggles, play and pause set the state,
stop leaves the player, and fast-forward/rewind skip 15s (VOD only).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fix(tv): make the remote's play/pause and transport keys act directly
@JonahMMay
JonahMMay merged commit 1adeba0 into main Sep 30, 2026
3 of 4 checks passed
@JonahMMay
JonahMMay deleted the fix/tv-seek-scrub-start-over branch September 30, 2026 22:36
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: de085c2e-820e-4fa0-a17b-5a1d15a12439

📥 Commits

Reviewing files that changed from the base of the PR and between 0b8f2e4 and fd1b313.

📒 Files selected for processing (6)
  • flutter/packages/prairie_core/lib/prairie_core.dart
  • flutter/packages/prairie_core/lib/src/player/remote_media_keys.dart
  • flutter/packages/prairie_core/lib/src/screens/live_tv_player_screen.dart
  • flutter/packages/prairie_core/lib/src/screens/player_screen.dart
  • flutter/packages/prairie_core/test/player/remote_media_keys_test.dart
  • flutter/packages/prairie_core/test/screens/player_controls_focus_test.dart
 ________________________
< I came, I saw, I CI'd. >
 ------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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