playback: re-add semi-circular queue w/no repeat
This commit is contained in:
parent
76eb693fb5
commit
ec61ba50ec
1 changed files with 15 additions and 3 deletions
|
@ -315,9 +315,21 @@ class PlaybackService :
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun next() {
|
override fun next() {
|
||||||
player.seekToNext()
|
// Replicate the old pseudo-circular queue behavior when no repeat option is implemented.
|
||||||
if (!playbackSettings.rememberPause) {
|
// Basically, you can't skip back and wrap around the queue, but you can skip forward and
|
||||||
player.play()
|
// wrap around the queue, albeit playback will be paused.
|
||||||
|
if (player.repeatMode != Player.REPEAT_MODE_OFF || player.hasNextMediaItem()) {
|
||||||
|
player.seekToNext()
|
||||||
|
if (!playbackSettings.rememberPause) {
|
||||||
|
player.play()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
goto(0)
|
||||||
|
// TODO: Dislike the UX implications of this, I feel should I bite the bullet
|
||||||
|
// and switch to dynamic skip enable/disable?
|
||||||
|
if (!playbackSettings.rememberPause) {
|
||||||
|
player.pause()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
playbackManager.ack(this, StateAck.IndexMoved)
|
playbackManager.ack(this, StateAck.IndexMoved)
|
||||||
// Deferred save is handled on position discontinuity
|
// Deferred save is handled on position discontinuity
|
||||||
|
|
Loading…
Reference in a new issue