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 { ...@@ -331,6 +331,17 @@ public final class CastPlayer implements Player {
} }
@Override @Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
// TODO: Support shuffle mode.
}
@Override
public boolean getShuffleModeEnabled() {
// TODO: Support shuffle mode.
return false;
}
@Override
public TrackSelectionArray getCurrentTrackSelections() { public TrackSelectionArray getCurrentTrackSelections() {
return currentTrackSelection; return currentTrackSelection;
} }
......
...@@ -397,6 +397,16 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase { ...@@ -397,6 +397,16 @@ public final class DynamicConcatenatingMediaSourceTest extends TestCase {
} }
@Override @Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
throw new UnsupportedOperationException();
}
@Override
public boolean getShuffleModeEnabled() {
throw new UnsupportedOperationException();
}
@Override
public boolean isLoading() { public boolean isLoading() {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
......
...@@ -53,6 +53,7 @@ import java.util.concurrent.CopyOnWriteArraySet; ...@@ -53,6 +53,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
private boolean tracksSelected; private boolean tracksSelected;
private boolean playWhenReady; private boolean playWhenReady;
private @RepeatMode int repeatMode; private @RepeatMode int repeatMode;
private boolean shuffleModeEnabled;
private int playbackState; private int playbackState;
private int pendingSeekAcks; private int pendingSeekAcks;
private int pendingPrepareAcks; private int pendingPrepareAcks;
...@@ -87,6 +88,7 @@ import java.util.concurrent.CopyOnWriteArraySet; ...@@ -87,6 +88,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
this.trackSelector = Assertions.checkNotNull(trackSelector); this.trackSelector = Assertions.checkNotNull(trackSelector);
this.playWhenReady = false; this.playWhenReady = false;
this.repeatMode = Player.REPEAT_MODE_OFF; this.repeatMode = Player.REPEAT_MODE_OFF;
this.shuffleModeEnabled = false;
this.playbackState = Player.STATE_IDLE; this.playbackState = Player.STATE_IDLE;
this.listeners = new CopyOnWriteArraySet<>(); this.listeners = new CopyOnWriteArraySet<>();
emptyTrackSelections = new TrackSelectionArray(new TrackSelection[renderers.length]); emptyTrackSelections = new TrackSelectionArray(new TrackSelection[renderers.length]);
...@@ -190,6 +192,18 @@ import java.util.concurrent.CopyOnWriteArraySet; ...@@ -190,6 +192,18 @@ import java.util.concurrent.CopyOnWriteArraySet;
} }
@Override @Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
if (this.shuffleModeEnabled != shuffleModeEnabled) {
this.shuffleModeEnabled = shuffleModeEnabled;
}
}
@Override
public boolean getShuffleModeEnabled() {
return shuffleModeEnabled;
}
@Override
public boolean isLoading() { public boolean isLoading() {
return isLoading; return isLoading;
} }
......
...@@ -220,6 +220,18 @@ public interface Player { ...@@ -220,6 +220,18 @@ public interface Player {
@RepeatMode int getRepeatMode(); @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. * Whether the player is currently loading the source.
* *
* @return 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 { ...@@ -643,6 +643,16 @@ public class SimpleExoPlayer implements ExoPlayer {
} }
@Override @Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
player.setShuffleModeEnabled(shuffleModeEnabled);
}
@Override
public boolean getShuffleModeEnabled() {
return player.getShuffleModeEnabled();
}
@Override
public boolean isLoading() { public boolean isLoading() {
return player.isLoading(); return player.isLoading();
} }
......
...@@ -155,6 +155,16 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer { ...@@ -155,6 +155,16 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer {
} }
@Override @Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
throw new UnsupportedOperationException();
}
@Override
public boolean getShuffleModeEnabled() {
return false;
}
@Override
public boolean isLoading() { public boolean isLoading() {
return 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