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) {
toggleChecked(layoutPosition)
} else {
MusicPlayerRemote.openQueue(dataSet, layoutPosition, true)
MusicPlayerRemote.openQueueKeepShuffleMode(dataSet, layoutPosition, true)
}
}

View file

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