From ce9a7c27becfe78ace498264449e5458fa7fe52b Mon Sep 17 00:00:00 2001 From: Bnyro Date: Tue, 14 May 2024 21:57:34 +0200 Subject: [PATCH] fix: button to play previous video doesnt work when repeat enabled --- .../com/github/libretube/util/PlayingQueue.kt | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/github/libretube/util/PlayingQueue.kt b/app/src/main/java/com/github/libretube/util/PlayingQueue.kt index d13014b04..45ab0731e 100644 --- a/app/src/main/java/com/github/libretube/util/PlayingQueue.kt +++ b/app/src/main/java/com/github/libretube/util/PlayingQueue.kt @@ -47,7 +47,7 @@ object PlayingQueue { ) } - // return the next item, or if repeating enabled, the first one of the queue + // return the next item, or if repeating enabled and no video left, the first one of the queue fun getNext(): String? { val nextItem = queue.getOrNull(currentIndex() + 1) if (nextItem != null) return nextItem.url?.toID() @@ -57,17 +57,14 @@ object PlayingQueue { return null } - // return the previous item, or if repeating enabled, the last one of the queue + // return the previous item, or if repeating enabled and no video left, the last one of the queue fun getPrev(): String? { - if (repeatMode != Player.REPEAT_MODE_ONE) { - queue.getOrNull(currentIndex() - 1)?.url?.toID()?.let { return it } - } + val prevItem = queue.getOrNull(currentIndex() - 1) + if (prevItem != null) return prevItem.url?.toID() - return when (repeatMode) { - Player.REPEAT_MODE_ALL -> queue.lastOrNull()?.url?.toID() - Player.REPEAT_MODE_ONE -> currentStream?.url?.toID() - else -> null - } + if (repeatMode == Player.REPEAT_MODE_ALL) return queue.lastOrNull()?.url?.toID() + + return null } fun hasPrev() = getPrev() != null