Merge pull request #6844 from 0x416c6578/shuffle-mode-ui-fix

Fixed shuffle button opacity UI bug
pull/7395/head
litetex 2021-11-03 18:18:31 +01:00 zatwierdzone przez GitHub
commit 2e862b4ccc
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 8 dodań i 4 usunięć

Wyświetl plik

@ -774,6 +774,8 @@ public final class Player implements
destroyPlayer(); destroyPlayer();
initPlayer(playOnReady); initPlayer(playOnReady);
setRepeatMode(repeatMode); setRepeatMode(repeatMode);
// #6825 - Ensure that the shuffle-button is in the correct state on the UI
setShuffleButton(binding.shuffleButton, simpleExoPlayer.getShuffleModeEnabled());
setPlaybackParameters(playbackSpeed, playbackPitch, playbackSkipSilence); setPlaybackParameters(playbackSpeed, playbackPitch, playbackSkipSilence);
playQueue = queue; playQueue = queue;

Wyświetl plik

@ -436,14 +436,16 @@ public abstract class PlayQueue implements Serializable {
* top, so shuffling a size-2 list does nothing) * top, so shuffling a size-2 list does nothing)
*/ */
public synchronized void shuffle() { public synchronized void shuffle() {
// Can't shuffle an list that's empty or only has one element
if (size() <= 2) {
return;
}
// Create a backup if it doesn't already exist // Create a backup if it doesn't already exist
// Note: The backup-list has to be created at all cost (even when size <= 2).
// Otherwise it's not possible to enter shuffle-mode!
if (backup == null) { if (backup == null) {
backup = new ArrayList<>(streams); backup = new ArrayList<>(streams);
} }
// Can't shuffle a list that's empty or only has one element
if (size() <= 2) {
return;
}
final int originalIndex = getIndex(); final int originalIndex = getIndex();
final PlayQueueItem currentItem = getItem(); final PlayQueueItem currentItem = getItem();