diff --git a/app/src/main/java/org/schabi/newpipe/player/Player.java b/app/src/main/java/org/schabi/newpipe/player/Player.java index eca585153..25aed782c 100644 --- a/app/src/main/java/org/schabi/newpipe/player/Player.java +++ b/app/src/main/java/org/schabi/newpipe/player/Player.java @@ -480,7 +480,7 @@ public final class Player implements PlaybackListener, Listener { && newQueue.size() == 1 && newQueue.getItem() != null && playQueue != null && playQueue.size() == 1 && playQueue.getItem() != null && newQueue.getItem().equals(playQueue.getItem()) - && newQueue.getItem().getRecoveryPosition() != Long.MIN_VALUE) { + && newQueue.getItem().getRecoveryPosition() != PlayQueueItem.RECOVERY_UNSET) { // Player can have state = IDLE when playback is stopped or failed // and we should retry in this case if (simpleExoPlayer.getPlaybackState() @@ -509,7 +509,7 @@ public final class Player implements PlaybackListener, Listener { && (playQueue == null || !playQueue.equalStreamsAndIndex(newQueue)) && !newQueue.isEmpty() && newQueue.getItem() != null - && newQueue.getItem().getRecoveryPosition() == Long.MIN_VALUE) { + && newQueue.getItem().getRecoveryPosition() == PlayQueueItem.RECOVERY_UNSET) { databaseUpdateDisposable.add(recordManager.loadStreamState(newQueue.getItem()) .observeOn(AndroidSchedulers.mainThread()) // Do not place initPlayback() in doFinally() because @@ -1700,7 +1700,7 @@ public final class Player implements PlaybackListener, Listener { } // sync the player index with the queue index, and seek to the correct position - if (item.getRecoveryPosition() != Long.MIN_VALUE) { + if (item.getRecoveryPosition() != PlayQueueItem.RECOVERY_UNSET) { simpleExoPlayer.seekTo(playQueueIndex, item.getRecoveryPosition()); playQueue.unsetRecovery(playQueueIndex); } else { diff --git a/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueue.kt b/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueue.kt index 22b7e0022..1daf311a7 100644 --- a/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueue.kt +++ b/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueue.kt @@ -15,6 +15,7 @@ import org.schabi.newpipe.player.playqueue.PlayQueueEvent.RecoveryEvent import org.schabi.newpipe.player.playqueue.PlayQueueEvent.RemoveEvent import org.schabi.newpipe.player.playqueue.PlayQueueEvent.ReorderEvent import org.schabi.newpipe.player.playqueue.PlayQueueEvent.SelectEvent +import org.schabi.newpipe.player.playqueue.PlayQueueItem /** * PlayQueue is responsible for keeping track of a list of streams and the index of @@ -390,7 +391,7 @@ abstract class PlayQueue internal constructor( */ @Synchronized fun unsetRecovery(index: Int) { - setRecovery(index, Long.Companion.MIN_VALUE) + setRecovery(index, PlayQueueItem.RECOVERY_UNSET) } /** diff --git a/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueueItem.kt b/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueueItem.kt index 8ff91d4d9..0e7a3b90b 100644 --- a/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueueItem.kt +++ b/app/src/main/java/org/schabi/newpipe/player/playqueue/PlayQueueItem.kt @@ -28,7 +28,7 @@ class PlayQueueItem private constructor( var isAutoQueued: Boolean = false // package-private - var recoveryPosition = Long.Companion.MIN_VALUE + var recoveryPosition = RECOVERY_UNSET var error: Throwable? = null private set @@ -68,4 +68,8 @@ class PlayQueueItem private constructor( override fun equals(o: Any?) = o is PlayQueueItem && serviceId == o.serviceId && url == o.url override fun hashCode() = Objects.hash(url, serviceId) + + companion object { + const val RECOVERY_UNSET = Long.MIN_VALUE + } }