Merge 00d05cc6fc5742b6e2af2f280a73c74249521b09 into 35b70c5e9e8d791ae268bac677a3b760b1b4e8bf
This commit is contained in:
commit
6112920aa6
@ -182,6 +182,8 @@ public final class Player implements PlaybackListener, Listener {
|
||||
|
||||
public static final int RENDERER_UNAVAILABLE = -1;
|
||||
private static final String PICASSO_PLAYER_THUMBNAIL_TAG = "PICASSO_PLAYER_THUMBNAIL_TAG";
|
||||
private static final String PREF_KEY_SHUFFLE_ENABLED = "player_shuffle_enabled";
|
||||
private static final String PREF_KEY_REPEAT_MODE = "player_repeat_mode";
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Playback
|
||||
@ -619,6 +621,22 @@ public final class Player implements PlaybackListener, Listener {
|
||||
playQueue.init();
|
||||
reloadPlayQueueManager();
|
||||
|
||||
final int persistedRepeat = loadRepeatFromPrefs();
|
||||
final boolean persistedShuffle = loadShuffleFromPrefs();
|
||||
|
||||
simpleExoPlayer.setRepeatMode(persistedRepeat);
|
||||
simpleExoPlayer.setShuffleModeEnabled(persistedShuffle);
|
||||
|
||||
if (persistedShuffle && !playQueue.isShuffled()) {
|
||||
playQueue.shuffle();
|
||||
} else if (!persistedShuffle && playQueue.isShuffled()) {
|
||||
playQueue.unshuffle();
|
||||
}
|
||||
|
||||
UIs.call(ui -> ui.onRepeatModeChanged(persistedRepeat));
|
||||
UIs.call(ui -> ui.onShuffleModeEnabledChanged(persistedShuffle));
|
||||
notifyPlaybackUpdateToListeners();
|
||||
|
||||
UIs.call(PlayerUi::initPlayback);
|
||||
|
||||
simpleExoPlayer.setVolume(isMuted() ? 0 : 1);
|
||||
@ -1271,6 +1289,23 @@ public final class Player implements PlaybackListener, Listener {
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
//region Repeat and shuffle
|
||||
|
||||
private void saveShuffleToPrefs(final boolean enabled) {
|
||||
prefs.edit().putBoolean(PREF_KEY_SHUFFLE_ENABLED, enabled).apply();
|
||||
}
|
||||
|
||||
private void saveRepeatToPrefs(@RepeatMode final int repeatMode) {
|
||||
prefs.edit().putInt(PREF_KEY_REPEAT_MODE, repeatMode).apply();
|
||||
}
|
||||
|
||||
private boolean loadShuffleFromPrefs() {
|
||||
return prefs.getBoolean(PREF_KEY_SHUFFLE_ENABLED, false);
|
||||
}
|
||||
|
||||
@RepeatMode
|
||||
private int loadRepeatFromPrefs() {
|
||||
return prefs.getInt(PREF_KEY_REPEAT_MODE, REPEAT_MODE_OFF);
|
||||
}
|
||||
|
||||
@RepeatMode
|
||||
public int getRepeatMode() {
|
||||
return exoPlayerIsNull() ? REPEAT_MODE_OFF : simpleExoPlayer.getRepeatMode();
|
||||
@ -1301,6 +1336,9 @@ public final class Player implements PlaybackListener, Listener {
|
||||
Log.d(TAG, "ExoPlayer - onRepeatModeChanged() called with: "
|
||||
+ "repeatMode = [" + repeatMode + "]");
|
||||
}
|
||||
|
||||
saveRepeatToPrefs(repeatMode);
|
||||
|
||||
UIs.call(playerUi -> playerUi.onRepeatModeChanged(repeatMode));
|
||||
notifyPlaybackUpdateToListeners();
|
||||
}
|
||||
@ -1312,6 +1350,8 @@ public final class Player implements PlaybackListener, Listener {
|
||||
+ "mode = [" + shuffleModeEnabled + "]");
|
||||
}
|
||||
|
||||
saveShuffleToPrefs(shuffleModeEnabled);
|
||||
|
||||
if (playQueue != null) {
|
||||
if (shuffleModeEnabled) {
|
||||
playQueue.shuffle();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user