Skip to content

Commit

Permalink
Merge pull request #6844 from 0x416c6578/shuffle-mode-ui-fix
Browse files Browse the repository at this point in the history
Fixed shuffle button opacity UI bug
  • Loading branch information
litetex committed Nov 3, 2021
2 parents 4ea962f + ecac897 commit 2e862b4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
2 changes: 2 additions & 0 deletions app/src/main/java/org/schabi/newpipe/player/Player.java
Original file line number Diff line number Diff line change
Expand Up @@ -774,6 +774,8 @@ private void initPlayback(@NonNull final PlayQueue queue,
destroyPlayer();
initPlayer(playOnReady);
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);

playQueue = queue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -436,14 +436,16 @@ public synchronized void unsetRecovery(final int index) {
* top, so shuffling a size-2 list does nothing)
*/
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
// 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) {
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 PlayQueueItem currentItem = getItem();
Expand Down

0 comments on commit 2e862b4

Please sign in to comment.