diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-09-21 12:00:25 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-09-23 22:50:55 -1000 |
| commit | 84ec886721f9f6052447a19e84d6c8e8d9f62ae6 (patch) | |
| tree | aea029473ab9a0fc70deb92a61b0f3f4007798b1 /config/detekt | |
| parent | af92823efb95cd8b29a81f244916e56d70b02150 (diff) | |
Add artwork, a real player screen, and queue drag-reorder
Closes three of the four Phase 1 gaps in CLAUDE.md's "Known gaps": artwork was
parsed and passed to the lock screen but never rendered, playback had a
transport bar with no scrubbing or per-show speed, and QueueOrdering.move was
tested but unreachable from any screen. Android Auto real-car verification
stays deferred, per Peter's call.
- Artwork: new Artwork.preferredUrl (episode image falling back to the show's),
resolved once at EpisodeEntity.toMediaItem's MediaMetadata boundary so the
lock screen, Android Auto, the now-playing bar and the new player screen all
read it from one place. Coil3 wired to the app's own OkHttpClient. Pinned to
3.3.0: later releases require a newer Kotlin stdlib or Compose than this
project runs (Compose 1.12 needs compileSdk 37, one above what AGP 8.13.2
supports).
- Player screen: scrubbing (PlayerConnection.seekTo, committed on drag release)
and per-show speed (PlayerViewModel.setShowSpeed persists
SubscriptionEntity.playbackSpeed via a new SubscriptionDao.updateSpeed) --
the field existed since Phase 1 with nothing to reach it. Opened by tapping
the now-playing bar's title/artwork; Up Next moved to its own icon there.
- Queue reorder: drag-and-drop via sh.calvin.reorderable, backed by a new
QueueRepository.reorder that writes the final order once on drag release
rather than per drag step (the gesture reports intermediate positions
continuously).
Coverage baseline drop (62.10% -> 61.15%) is entirely in already-0%-covered
Media3 glue -- see COVERAGE_EXCEPTION. The new pure logic (Artwork,
QueueRepository.reorder) is fully covered by new tests.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sj3CoWEedM56bebByKgNxA
Diffstat (limited to 'config/detekt')
0 files changed, 0 insertions, 0 deletions
