Keep Shuffle status when selecting song

This commit is contained in:
tomaThomas 2024-11-30 12:58:15 +01:00
parent 6752ae2afa
commit c4ec9d03da
No known key found for this signature in database
GPG key ID: DEE963DC84059108
2 changed files with 12 additions and 11 deletions

View file

@ -216,7 +216,7 @@ open class SongAdapter(
if (isInQuickSelectMode) { if (isInQuickSelectMode) {
toggleChecked(layoutPosition) toggleChecked(layoutPosition)
} else { } else {
MusicPlayerRemote.openQueue(dataSet, layoutPosition, true) MusicPlayerRemote.openQueueKeepShuffleMode(dataSet, layoutPosition, true)
} }
} }

View file

@ -211,15 +211,7 @@ object MusicPlayerRemote : KoinComponent {
*/ */
@JvmStatic @JvmStatic
fun openQueue(queue: List<Song>, startPosition: Int, startPlaying: Boolean) { fun openQueue(queue: List<Song>, startPosition: Int, startPlaying: Boolean) {
if (!tryToHandleOpenPlayingQueue( doOpenQueue(queue, startPosition, startPlaying, MusicService.SHUFFLE_MODE_NONE)
queue,
startPosition,
startPlaying
) && musicService != null
) {
musicService?.openQueue(queue, startPosition, startPlaying)
setShuffleMode(MusicService.SHUFFLE_MODE_NONE)
}
} }
@JvmStatic @JvmStatic
@ -229,6 +221,15 @@ object MusicPlayerRemote : KoinComponent {
startPosition = Random().nextInt(queue.size) startPosition = Random().nextInt(queue.size)
} }
doOpenQueue(queue, startPosition, startPlaying, MusicService.SHUFFLE_MODE_SHUFFLE)
}
@JvmStatic
fun openQueueKeepShuffleMode(queue: List<Song>, startPosition: Int, startPlaying: Boolean) {
doOpenQueue(queue, startPosition, startPlaying, shuffleMode)
}
private fun doOpenQueue(queue: List<Song>, startPosition: Int, startPlaying: Boolean, shuffleMode: Int) {
if (!tryToHandleOpenPlayingQueue( if (!tryToHandleOpenPlayingQueue(
queue, queue,
startPosition, startPosition,
@ -236,7 +237,7 @@ object MusicPlayerRemote : KoinComponent {
) && musicService != null ) && musicService != null
) { ) {
musicService?.openQueue(queue, startPosition, startPlaying) musicService?.openQueue(queue, startPosition, startPlaying)
setShuffleMode(MusicService.SHUFFLE_MODE_SHUFFLE) setShuffleMode(shuffleMode)
} }
} }