playback: fix broken state restore

This commit is contained in:
Alexander Capehart 2024-02-24 12:37:49 -07:00
parent 07a98029c6
commit a036005f75
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47

View file

@ -418,13 +418,15 @@ class PlaybackStateManagerImpl @Inject constructor() : PlaybackStateManager {
} }
this.stateHolder = stateHolder this.stateHolder = stateHolder
if (isInitialized && stateMirror.index > -1) { if (isInitialized) {
if (currentSong != null) {
stateHolder.applySavedState(stateMirror.parent, stateMirror.rawQueue, null) stateHolder.applySavedState(stateMirror.parent, stateMirror.rawQueue, null)
stateHolder.seekTo(stateMirror.progression.calculateElapsedPositionMs()) stateHolder.seekTo(stateMirror.progression.calculateElapsedPositionMs())
stateHolder.playing(false) stateHolder.playing(false)
pendingDeferredPlayback?.let(stateHolder::handleDeferred)
} }
} }
pendingDeferredPlayback?.let(stateHolder::handleDeferred)
}
@Synchronized @Synchronized
override fun unregisterStateHolder(stateHolder: PlaybackStateHolder) { override fun unregisterStateHolder(stateHolder: PlaybackStateHolder) {