Skip to content

fix(ios): preserve pause intent across interruptions (PinePods#974 follow-up) - #1

Closed
ashtonian wants to merge 1 commit into
mrmichaeladavis:fix/mobile-audio-playback-reviewfrom
ashtonian:fix/pr-974-playback-intent
Closed

ashtonian wants to merge 1 commit into
mrmichaeladavis:fix/mobile-audio-playback-reviewfrom
ashtonian:fix/pr-974-playback-intent

Conversation

@ashtonian

@ashtonian ashtonian commented Oct 18, 2026 •

Copy link
Copy Markdown

Replaced by the primary-repository draft madeofpendletonwool#1011. That branch preserves the original commits and incorporates current main; all 263 Flutter tests and five Swift tests pass, with native SDK type-checking also passing. This fork-targeted draft is closed in favor of that upstream submission.

Follow-up to madeofpendletonwool#974, targeting @mrmichaeladavis's fix/mobile-audio-playback-review branch. This builds on that PR's rate preservation and retains its Dart override handling. Related: madeofpendletonwool#973.

A system interruption ending with shouldResume must not restart audio that the user had already paused, including a pause during the interruption. Track requested playback separately from the player's temporary interrupted state. Apply the same intent check to asynchronous episode-load/initial-seek callbacks so a late callback cannot undo a pause, stop, or newer episode request. Preserve the selected rate and reject invalid rates.

Adds a dependency-free Swift package for the state logic, includes its source in the Runner target, and runs five state regressions in CI. Observer replacement occurs only when the accepted asset is installed, avoiding repeated removal during overlapping loads.

Validation: five Swift tests pass; Audio/CarPlay sources type-check against the iOS 26.1 SDK with an iOS 15 target; the Xcode project validates. Full application build and physical-device interruption/Bluetooth/CarPlay testing are outstanding. The simulator build previously failed because the local Xcode platform/destination was unavailable. State tests do not exercise AVPlayer itself.

Draft pending those runtime checks; GitHub currently lists no Actions runs for this follow-up. This supplements madeofpendletonwool#974, preserves its authorship, and leaves seek method-channel completion as a separate change.

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