337fce83a1
android / Build + lint + test (push) Failing after 3m20s
Three rule trips from the playback-errors + scrubber commits: PlayerController.startRadio (4 returns → 2): extract the mid-queue append branch into appendRadioToQueue(). startRadio just does the guard checks and dispatches; the helper handles the cursor trim + addMediaItems. Behavior identical. PlayerController.onPlaybackStateChanged (4 returns → 2): extract the duration check + zero-duration error emission + skip logic into handleZeroDurationIfNeeded(). The listener stays compact (one return for non-READY, one for repeat-evaluation guard); the helper owns the failure path. NowPlayingScreen.ScrubberRow (63 lines → ~50): extract the custom track Box block into a ScrubTrack(fraction, accent) composable. The Slider's `track` lambda becomes a one-line call. Pixel output is identical.