From deffe065d5110177b1715896bd243c53ab35903e Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Tue, 9 Aug 2022 09:11:17 -0600 Subject: [PATCH] queue: do not scroll to next-up range Do not scroll to the current index + 1 (i.e the next up range) when the index signifigantly changees. RecyclerView quirks result in a mix of next-up and next-up + playing item scrolling, just unify it under the latter. --- .../org/oxycblt/auxio/playback/queue/QueueViewModel.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt index 386bb63b4..a10bc941b 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt @@ -18,7 +18,6 @@ package org.oxycblt.auxio.playback.queue import androidx.lifecycle.ViewModel -import kotlin.math.min import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import org.oxycblt.auxio.music.MusicParent @@ -88,7 +87,7 @@ class QueueViewModel : ViewModel(), PlaybackStateManager.Callback { override fun onIndexMoved(index: Int) { replaceQueue = null - scrollTo = min(index + 1, playbackManager.queue.lastIndex) + scrollTo = index _index.value = index } @@ -100,14 +99,14 @@ class QueueViewModel : ViewModel(), PlaybackStateManager.Callback { override fun onQueueReworked(index: Int, queue: List) { replaceQueue = true - scrollTo = min(index + 1, playbackManager.queue.lastIndex) + scrollTo = index _queue.value = playbackManager.queue.toMutableList() _index.value = index } override fun onNewPlayback(index: Int, queue: List, parent: MusicParent?) { replaceQueue = true - scrollTo = min(index + 1, playbackManager.queue.lastIndex) + scrollTo = index _queue.value = playbackManager.queue.toMutableList() _index.value = index }