Repository navigation
fix(ios): preserve pause intent across interruptions (PinePods#974 follow-up) - #1
Closed
ashtonian wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-reviewbranch. This builds on that PR's rate preservation and retains its Dart override handling. Related: madeofpendletonwool#973.A system interruption ending with
shouldResumemust 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.