Commit c1d7e5bf by tonihei Committed by Oliver Woodman

Add set/getShuffleModeEnabled to Player interface.

And implement a basic version of the methods in all implementations.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=166041342
parent f1a97317
......@@ -331,6 +331,17 @@ public final class CastPlayer implements Player {
}
@Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
// TODO: Support shuffle mode.
}
@Override
public boolean getShuffleModeEnabled() {
// TODO: Support shuffle mode.
return false;
}
@Override
public TrackSelectionArray getCurrentTrackSelections() {
return currentTrackSelection;
}
......
......@@ -397,6 +397,16 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
}
@Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
throw new UnsupportedOperationException();
}
@Override
public boolean getShuffleModeEnabled() {
throw new UnsupportedOperationException();
}
@Override
public boolean isLoading() {
throw new UnsupportedOperationException();
}
......
......@@ -53,6 +53,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
private boolean tracksSelected;
private boolean playWhenReady;
private @RepeatMode int repeatMode;
private boolean shuffleModeEnabled;
private int playbackState;
private int pendingSeekAcks;
private int pendingPrepareAcks;
......@@ -87,6 +88,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
this.trackSelector = Assertions.checkNotNull(trackSelector);
this.playWhenReady = false;
this.repeatMode = Player.REPEAT_MODE_OFF;
this.shuffleModeEnabled = false;
this.playbackState = Player.STATE_IDLE;
this.listeners = new CopyOnWriteArraySet<>();
emptyTrackSelections = new TrackSelectionArray(new TrackSelection[renderers.length]);
......@@ -190,6 +192,18 @@ import java.util.concurrent.CopyOnWriteArraySet;
}
@Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
if (this.shuffleModeEnabled != shuffleModeEnabled) {
this.shuffleModeEnabled = shuffleModeEnabled;
}
}
@Override
public boolean getShuffleModeEnabled() {
return shuffleModeEnabled;
}
@Override
public boolean isLoading() {
return isLoading;
}
......
......@@ -220,6 +220,18 @@ public interface Player {
@RepeatMode int getRepeatMode();
/**
* Sets whether shuffling of windows is enabled.
*
* @param shuffleModeEnabled Whether shuffling is enabled.
*/
void setShuffleModeEnabled(boolean shuffleModeEnabled);
/**
* Returns whether shuffling of windows is enabled.
*/
boolean getShuffleModeEnabled();
/**
* Whether the player is currently loading the source.
*
* @return Whether the player is currently loading the source.
......
......@@ -643,6 +643,16 @@ public class SimpleExoPlayer implements ExoPlayer {
}
@Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
player.setShuffleModeEnabled(shuffleModeEnabled);
}
@Override
public boolean getShuffleModeEnabled() {
return player.getShuffleModeEnabled();
}
@Override
public boolean isLoading() {
return player.isLoading();
}
......
......@@ -155,6 +155,16 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer {
}
@Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
throw new UnsupportedOperationException();
}
@Override
public boolean getShuffleModeEnabled() {
return false;
}
@Override
public boolean isLoading() {
return isLoading;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment