Merge pull request #1690 from tomaThomas/shuffle-status

Keep shuffle status when selecting song
This commit is contained in:
Hemanth Savarala 2024-12-06 16:16:36 +05:30 committed by GitHub
commit dcbb067208
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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)
} }
} }