Migrate usages of SimpleExoPlayer to ExoPlayer
SimpleExoPlayer is being deprecated in favour of ExoPlayer. PiperOrigin-RevId: 402869414
This commit is contained in:
parent
3c19850ed3
commit
23fc1f4384
@ -22,7 +22,6 @@ import androidx.annotation.Nullable;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||
import com.google.android.exoplayer2.source.DefaultMediaSourceFactory;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.upstream.DataSpec;
|
||||
@ -49,7 +48,7 @@ import org.junit.rules.ExternalResource;
|
||||
private ExecutorService executor;
|
||||
|
||||
private SessionPlayerConnector sessionPlayerConnector;
|
||||
private SimpleExoPlayer exoPlayer;
|
||||
private ExoPlayer exoPlayer;
|
||||
@Nullable private DataSourceInstrumentation dataSourceInstrumentation;
|
||||
|
||||
@Override
|
||||
@ -111,7 +110,7 @@ import org.junit.rules.ExternalResource;
|
||||
return sessionPlayerConnector;
|
||||
}
|
||||
|
||||
public SimpleExoPlayer getSimpleExoPlayer() {
|
||||
public ExoPlayer getExoPlayer() {
|
||||
return exoPlayer;
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,6 @@ import com.google.android.exoplayer2.DefaultControlDispatcher;
|
||||
import com.google.android.exoplayer2.ExoPlayer;
|
||||
import com.google.android.exoplayer2.ForwardingPlayer;
|
||||
import com.google.android.exoplayer2.Player;
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||
import com.google.android.exoplayer2.ext.media2.test.R;
|
||||
import com.google.android.exoplayer2.upstream.RawResourceDataSource;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
@ -167,20 +166,19 @@ public class SessionPlayerConnectorTest {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
SimpleExoPlayer simpleExoPlayer = null;
|
||||
ExoPlayer exoPlayer = null;
|
||||
SessionPlayerConnector playerConnector = null;
|
||||
try {
|
||||
simpleExoPlayer = new ExoPlayer.Builder(context).setLooper(Looper.myLooper()).build();
|
||||
playerConnector =
|
||||
new SessionPlayerConnector(simpleExoPlayer, new DefaultMediaItemConverter());
|
||||
exoPlayer = new ExoPlayer.Builder(context).setLooper(Looper.myLooper()).build();
|
||||
playerConnector = new SessionPlayerConnector(exoPlayer, new DefaultMediaItemConverter());
|
||||
playerConnector.setControlDispatcher(controlDispatcher);
|
||||
assertPlayerResult(playerConnector.play(), RESULT_INFO_SKIPPED);
|
||||
} finally {
|
||||
if (playerConnector != null) {
|
||||
playerConnector.close();
|
||||
}
|
||||
if (simpleExoPlayer != null) {
|
||||
simpleExoPlayer.release();
|
||||
if (exoPlayer != null) {
|
||||
exoPlayer.release();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -195,9 +193,9 @@ public class SessionPlayerConnectorTest {
|
||||
Player forwardingPlayer = null;
|
||||
SessionPlayerConnector playerConnector = null;
|
||||
try {
|
||||
Player simpleExoPlayer = new ExoPlayer.Builder(context).setLooper(Looper.myLooper()).build();
|
||||
Player exoPlayer = new ExoPlayer.Builder(context).setLooper(Looper.myLooper()).build();
|
||||
forwardingPlayer =
|
||||
new ForwardingPlayer(simpleExoPlayer) {
|
||||
new ForwardingPlayer(exoPlayer) {
|
||||
@Override
|
||||
public boolean isCommandAvailable(int command) {
|
||||
if (command == COMMAND_PLAY_PAUSE) {
|
||||
@ -457,13 +455,12 @@ public class SessionPlayerConnectorTest {
|
||||
public void seekTo_whenUnderlyingPlayerAlsoSeeks_throwsNoException() throws Exception {
|
||||
TestUtils.loadResource(R.raw.video_big_buck_bunny, sessionPlayerConnector);
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.prepare());
|
||||
SimpleExoPlayer simpleExoPlayer = playerTestRule.getSimpleExoPlayer();
|
||||
ExoPlayer exoPlayer = playerTestRule.getExoPlayer();
|
||||
|
||||
List<ListenableFuture<PlayerResult>> futures = new ArrayList<>();
|
||||
for (int i = 0; i < 10; i++) {
|
||||
futures.add(sessionPlayerConnector.seekTo(4123));
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(() -> simpleExoPlayer.seekTo(1243));
|
||||
InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> exoPlayer.seekTo(1243));
|
||||
}
|
||||
|
||||
for (ListenableFuture<PlayerResult> future : futures) {
|
||||
@ -477,7 +474,7 @@ public class SessionPlayerConnectorTest {
|
||||
public void seekTo_byUnderlyingPlayer_notifiesOnSeekCompleted() throws Exception {
|
||||
TestUtils.loadResource(R.raw.video_big_buck_bunny, sessionPlayerConnector);
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.prepare());
|
||||
SimpleExoPlayer simpleExoPlayer = playerTestRule.getSimpleExoPlayer();
|
||||
ExoPlayer exoPlayer = playerTestRule.getExoPlayer();
|
||||
long testSeekPosition = 1023;
|
||||
AtomicLong seekPosition = new AtomicLong();
|
||||
CountDownLatch onSeekCompletedLatch = new CountDownLatch(1);
|
||||
@ -494,7 +491,7 @@ public class SessionPlayerConnectorTest {
|
||||
});
|
||||
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(() -> simpleExoPlayer.seekTo(testSeekPosition));
|
||||
.runOnMainSync(() -> exoPlayer.seekTo(testSeekPosition));
|
||||
assertThat(onSeekCompletedLatch.await(PLAYER_STATE_CHANGE_WAIT_TIME_MS, MILLISECONDS)).isTrue();
|
||||
assertThat(seekPosition.get()).isEqualTo(testSeekPosition);
|
||||
}
|
||||
@ -837,7 +834,7 @@ public class SessionPlayerConnectorTest {
|
||||
}
|
||||
});
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(() -> playerTestRule.getSimpleExoPlayer().setMediaItems(exoMediaItems));
|
||||
.runOnMainSync(() -> playerTestRule.getExoPlayer().setMediaItems(exoMediaItems));
|
||||
assertThat(onPlaylistChangedLatch.await(PLAYLIST_CHANGE_WAIT_TIME_MS, MILLISECONDS)).isTrue();
|
||||
}
|
||||
|
||||
@ -870,7 +867,7 @@ public class SessionPlayerConnectorTest {
|
||||
sessionPlayerConnector.prepare();
|
||||
sessionPlayerConnector.setPlaylist(playlistToSessionPlayer, /* metadata= */ null);
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(() -> playerTestRule.getSimpleExoPlayer().setMediaItems(exoMediaItems));
|
||||
.runOnMainSync(() -> playerTestRule.getExoPlayer().setMediaItems(exoMediaItems));
|
||||
assertThat(onPlaylistChangedLatch.await(PLAYLIST_CHANGE_WAIT_TIME_MS, MILLISECONDS)).isTrue();
|
||||
}
|
||||
|
||||
@ -1055,7 +1052,7 @@ public class SessionPlayerConnectorTest {
|
||||
@LargeTest
|
||||
public void play_byUnderlyingPlayer_notifiesOnPlayerStateChanges() throws Exception {
|
||||
TestUtils.loadResource(R.raw.audio, sessionPlayerConnector);
|
||||
SimpleExoPlayer simpleExoPlayer = playerTestRule.getSimpleExoPlayer();
|
||||
ExoPlayer exoPlayer = playerTestRule.getExoPlayer();
|
||||
|
||||
CountDownLatch onPlayingLatch = new CountDownLatch(1);
|
||||
sessionPlayerConnector.registerPlayerCallback(
|
||||
@ -1071,7 +1068,7 @@ public class SessionPlayerConnectorTest {
|
||||
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.prepare());
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(() -> simpleExoPlayer.setPlayWhenReady(true));
|
||||
.runOnMainSync(() -> exoPlayer.setPlayWhenReady(true));
|
||||
|
||||
assertThat(onPlayingLatch.await(PLAYER_STATE_CHANGE_WAIT_TIME_MS, MILLISECONDS)).isTrue();
|
||||
}
|
||||
@ -1090,7 +1087,7 @@ public class SessionPlayerConnectorTest {
|
||||
@LargeTest
|
||||
public void pause_byUnderlyingPlayer_notifiesOnPlayerStateChanges() throws Exception {
|
||||
TestUtils.loadResource(R.raw.audio, sessionPlayerConnector);
|
||||
SimpleExoPlayer simpleExoPlayer = playerTestRule.getSimpleExoPlayer();
|
||||
ExoPlayer exoPlayer = playerTestRule.getExoPlayer();
|
||||
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.prepare());
|
||||
|
||||
@ -1107,7 +1104,7 @@ public class SessionPlayerConnectorTest {
|
||||
});
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.play());
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(() -> simpleExoPlayer.setPlayWhenReady(false));
|
||||
.runOnMainSync(() -> exoPlayer.setPlayWhenReady(false));
|
||||
|
||||
assertThat(onPausedLatch.await(PLAYER_STATE_CHANGE_WAIT_TIME_MS, MILLISECONDS)).isTrue();
|
||||
}
|
||||
@ -1116,7 +1113,7 @@ public class SessionPlayerConnectorTest {
|
||||
@LargeTest
|
||||
public void pause_byUnderlyingPlayerInListener_changesToPlayerStatePaused() throws Exception {
|
||||
TestUtils.loadResource(R.raw.audio, sessionPlayerConnector);
|
||||
SimpleExoPlayer simpleExoPlayer = playerTestRule.getSimpleExoPlayer();
|
||||
ExoPlayer exoPlayer = playerTestRule.getExoPlayer();
|
||||
|
||||
CountDownLatch playerStateChangesLatch = new CountDownLatch(3);
|
||||
CopyOnWriteArrayList<Integer> playerStateChanges = new CopyOnWriteArrayList<>();
|
||||
@ -1134,12 +1131,12 @@ public class SessionPlayerConnectorTest {
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(
|
||||
() ->
|
||||
simpleExoPlayer.addListener(
|
||||
exoPlayer.addListener(
|
||||
new Player.Listener() {
|
||||
@Override
|
||||
public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) {
|
||||
if (playWhenReady) {
|
||||
simpleExoPlayer.setPlayWhenReady(false);
|
||||
exoPlayer.setPlayWhenReady(false);
|
||||
}
|
||||
}
|
||||
}));
|
||||
@ -1292,11 +1289,10 @@ public class SessionPlayerConnectorTest {
|
||||
InstrumentationRegistry.getInstrumentation()
|
||||
.runOnMainSync(
|
||||
() -> {
|
||||
SimpleExoPlayer simpleExoPlayer = playerTestRule.getSimpleExoPlayer();
|
||||
simpleExoPlayer.setMediaItems(exoMediaItems);
|
||||
ExoPlayer exoPlayer = playerTestRule.getExoPlayer();
|
||||
exoPlayer.setMediaItems(exoMediaItems);
|
||||
|
||||
try (SessionPlayerConnector sessionPlayer =
|
||||
new SessionPlayerConnector(simpleExoPlayer)) {
|
||||
try (SessionPlayerConnector sessionPlayer = new SessionPlayerConnector(exoPlayer)) {
|
||||
List<MediaItem> playlist = sessionPlayer.getPlaylist();
|
||||
playlistFromSessionPlayer.set(playlist);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user