Skip to content

PCIOS-732: iOS CarPlay: Apple Maps voice guidance repeatedly pauses playback (even when guidance volume is zero)#4520

Draft
pocketcasts wants to merge 1 commit into
trunkfrom
pcios-732/smart-resume-rewind-after-interruption
Draft

PCIOS-732: iOS CarPlay: Apple Maps voice guidance repeatedly pauses playback (even when guidance volume is zero)#4520
pocketcasts wants to merge 1 commit into
trunkfrom
pcios-732/smart-resume-rewind-after-interruption

Conversation

@pocketcasts

Copy link
Copy Markdown
Contributor

Resolves https://linear.app/a8c/issue/PCIOS-732/ios-carplay-apple-maps-voice-guidance-repeatedly-pauses-playback-even

Summary

When CarPlay navigation apps (Apple Maps, Waze) fire audio interruptions for turn-by-turn prompts, Pocket Casts resumes playback from the exact pause point — losing ~1-2 seconds of audio each time. This happens even when the nav app's guidance volume is zero, since iOS fires the interruption when the nav app activates its audio session, regardless of volume.

This PR adds a ~1s rewind ("smart resume") before auto-resuming after an audio interruption, matching the behavior of Apple Podcasts and Overcast.

Changes

  • Added FeatureFlag.rewindOnResumeAfterInterruption (defaults to true) so the behavior can be remotely toggled
  • Modified PlaybackManager.handleAudioInterruption to seek back 1 second before resuming when an interruption ends with .shouldResume, using seekTo(time:startPlaybackAfterSeek:) instead of a plain play()

Verification

  • Lint: PASS
  • Tests: FAIL — pre-existing build failure in CarPlay files due to iOS 26 SDK changes, unrelated to this PR
  • Diff review: PASS — only two files changed, scoped to the fix
  • Secret scan: PASS

Confidence

MEDIUM — The code change is straightforward and follows existing patterns, but full verification requires on-device CarPlay testing which cannot be done in CI. The fix is flag-gated so it can be remotely disabled if any issues arise.

Known Issues

  • Tests fail to build due to pre-existing CarPlay API incompatibility with iOS 26 SDK. Unrelated to this PR.

This PR was created autonomously by linear-solver.
Triage complexity: medium | Linear issue

@dangermattic

Copy link
Copy Markdown
Collaborator
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

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