mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Removed unneeded activity from media2 extension tests
These tests appear not to need an activity, and removing it means we don't need to switch away from the deprecated `ActivityTestRule`. #exofixit PiperOrigin-RevId: 344037927
This commit is contained in:
parent
1b1a1a6414
commit
809b8a0679
5 changed files with 33 additions and 167 deletions
|
|
@ -22,15 +22,6 @@
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||||
<uses-sdk/>
|
<uses-sdk/>
|
||||||
|
|
||||||
<application
|
|
||||||
android:allowBackup="false"
|
|
||||||
tools:ignore="MissingApplicationIcon,HardcodedDebugMode">
|
|
||||||
<activity android:name="com.google.android.exoplayer2.ext.media2.MediaStubActivity"
|
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
|
||||||
android:exported="false"
|
|
||||||
android:label="MediaStubActivity"/>
|
|
||||||
</application>
|
|
||||||
|
|
||||||
<instrumentation
|
<instrumentation
|
||||||
android:targetPackage="com.google.android.exoplayer2.ext.media2.test"
|
android:targetPackage="com.google.android.exoplayer2.ext.media2.test"
|
||||||
android:name="androidx.test.runner.AndroidJUnitRunner"/>
|
android:name="androidx.test.runner.AndroidJUnitRunner"/>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.support.v4.media.session.MediaControllerCompat;
|
import android.support.v4.media.session.MediaControllerCompat;
|
||||||
import android.support.v4.media.session.MediaSessionCompat;
|
import android.support.v4.media.session.MediaSessionCompat;
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.media2.common.SessionPlayer;
|
import androidx.media2.common.SessionPlayer;
|
||||||
import androidx.media2.common.SessionPlayer.PlayerResult;
|
import androidx.media2.common.SessionPlayer.PlayerResult;
|
||||||
import androidx.media2.session.MediaSession;
|
import androidx.media2.session.MediaSession;
|
||||||
|
|
@ -57,7 +56,7 @@ public class MediaSessionUtilTest {
|
||||||
playerTestRule.getExecutor(),
|
playerTestRule.getExecutor(),
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
if (playerState == SessionPlayer.PLAYER_STATE_PLAYING) {
|
if (playerState == SessionPlayer.PLAYER_STATE_PLAYING) {
|
||||||
latch.countDown();
|
latch.countDown();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2019 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package com.google.android.exoplayer2.ext.media2;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.app.KeyguardManager;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.SurfaceHolder;
|
|
||||||
import android.view.SurfaceView;
|
|
||||||
import android.view.WindowManager;
|
|
||||||
import com.google.android.exoplayer2.ext.media2.test.R;
|
|
||||||
import com.google.android.exoplayer2.util.Util;
|
|
||||||
|
|
||||||
/** Stub activity to play media contents on. */
|
|
||||||
public final class MediaStubActivity extends Activity {
|
|
||||||
|
|
||||||
private static final String TAG = "MediaStubActivity";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.mediaplayer);
|
|
||||||
|
|
||||||
// disable enter animation.
|
|
||||||
overridePendingTransition(0, 0);
|
|
||||||
|
|
||||||
if (Util.SDK_INT >= 27) {
|
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
|
||||||
setTurnScreenOn(true);
|
|
||||||
setShowWhenLocked(true);
|
|
||||||
KeyguardManager keyguardManager =
|
|
||||||
(KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
|
|
||||||
keyguardManager.requestDismissKeyguard(this, null);
|
|
||||||
} else {
|
|
||||||
getWindow()
|
|
||||||
.addFlags(
|
|
||||||
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
|
|
||||||
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
|
|
||||||
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
|
|
||||||
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void finish() {
|
|
||||||
super.finish();
|
|
||||||
|
|
||||||
// disable exit animation.
|
|
||||||
overridePendingTransition(0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onResume() {
|
|
||||||
Log.i(TAG, "onResume");
|
|
||||||
super.onResume();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPause() {
|
|
||||||
Log.i(TAG, "onPause");
|
|
||||||
super.onPause();
|
|
||||||
}
|
|
||||||
|
|
||||||
public SurfaceHolder getSurfaceHolder() {
|
|
||||||
SurfaceView surface = findViewById(R.id.surface);
|
|
||||||
return surface.getHolder();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -24,7 +24,6 @@ import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.media2.common.MediaItem;
|
import androidx.media2.common.MediaItem;
|
||||||
|
|
@ -41,9 +40,6 @@ import androidx.media2.session.SessionResult;
|
||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
import androidx.test.filters.LargeTest;
|
import androidx.test.filters.LargeTest;
|
||||||
import androidx.test.platform.app.InstrumentationRegistry;
|
|
||||||
import androidx.test.rule.ActivityTestRule;
|
|
||||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
|
||||||
import com.google.android.exoplayer2.ext.media2.test.R;
|
import com.google.android.exoplayer2.ext.media2.test.R;
|
||||||
import com.google.android.exoplayer2.upstream.RawResourceDataSource;
|
import com.google.android.exoplayer2.upstream.RawResourceDataSource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -60,9 +56,6 @@ import org.junit.runner.RunWith;
|
||||||
/** Tests {@link SessionCallbackBuilder}. */
|
/** Tests {@link SessionCallbackBuilder}. */
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class SessionCallbackBuilderTest {
|
public class SessionCallbackBuilderTest {
|
||||||
@Rule
|
|
||||||
public final ActivityTestRule<MediaStubActivity> activityRule =
|
|
||||||
new ActivityTestRule<>(MediaStubActivity.class);
|
|
||||||
|
|
||||||
@Rule public final PlayerTestRule playerTestRule = new PlayerTestRule();
|
@Rule public final PlayerTestRule playerTestRule = new PlayerTestRule();
|
||||||
|
|
||||||
|
|
@ -80,16 +73,6 @@ public class SessionCallbackBuilderTest {
|
||||||
context = ApplicationProvider.getApplicationContext();
|
context = ApplicationProvider.getApplicationContext();
|
||||||
executor = playerTestRule.getExecutor();
|
executor = playerTestRule.getExecutor();
|
||||||
sessionPlayerConnector = playerTestRule.getSessionPlayerConnector();
|
sessionPlayerConnector = playerTestRule.getSessionPlayerConnector();
|
||||||
|
|
||||||
// Sets the surface to the player for manual check.
|
|
||||||
InstrumentationRegistry.getInstrumentation()
|
|
||||||
.runOnMainSync(
|
|
||||||
() -> {
|
|
||||||
SimpleExoPlayer exoPlayer = playerTestRule.getSimpleExoPlayer();
|
|
||||||
exoPlayer
|
|
||||||
.getVideoComponent()
|
|
||||||
.setVideoSurfaceHolder(activityRule.getActivity().getSurfaceHolder());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -469,8 +452,7 @@ public class SessionCallbackBuilderTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onCurrentMediaItemChanged(
|
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
|
||||||
@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
|
||||||
MediaMetadata metadata = item.getMetadata();
|
MediaMetadata metadata = item.getMetadata();
|
||||||
assertThat(metadata.getString(MediaMetadata.METADATA_KEY_MEDIA_ID))
|
assertThat(metadata.getString(MediaMetadata.METADATA_KEY_MEDIA_ID))
|
||||||
.isEqualTo(testMediaUri.toString());
|
.isEqualTo(testMediaUri.toString());
|
||||||
|
|
@ -613,15 +595,14 @@ public class SessionCallbackBuilderTest {
|
||||||
new MediaController.ControllerCallback() {
|
new MediaController.ControllerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onAllowedCommandsChanged(
|
public void onAllowedCommandsChanged(
|
||||||
@NonNull MediaController controller, @NonNull SessionCommandGroup commands) {
|
MediaController controller, SessionCommandGroup commands) {
|
||||||
if (onAllowedCommandsChangedListener != null) {
|
if (onAllowedCommandsChangedListener != null) {
|
||||||
onAllowedCommandsChangedListener.onAllowedCommandsChanged(controller, commands);
|
onAllowedCommandsChangedListener.onAllowedCommandsChanged(controller, commands);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onConnected(
|
public void onConnected(MediaController controller, SessionCommandGroup allowedCommands) {
|
||||||
@NonNull MediaController controller, @NonNull SessionCommandGroup allowedCommands) {
|
|
||||||
if (onConnectedListener != null) {
|
if (onConnectedListener != null) {
|
||||||
onConnectedListener.onConnected(controller, allowedCommands);
|
onConnectedListener.onConnected(controller, allowedCommands);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@ import android.media.AudioManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Build.VERSION_CODES;
|
import android.os.Build.VERSION_CODES;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.core.util.ObjectsCompat;
|
import androidx.core.util.ObjectsCompat;
|
||||||
import androidx.media.AudioAttributesCompat;
|
import androidx.media.AudioAttributesCompat;
|
||||||
|
|
@ -47,7 +46,6 @@ import androidx.test.filters.MediumTest;
|
||||||
import androidx.test.filters.SdkSuppress;
|
import androidx.test.filters.SdkSuppress;
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
import androidx.test.platform.app.InstrumentationRegistry;
|
import androidx.test.platform.app.InstrumentationRegistry;
|
||||||
import androidx.test.rule.ActivityTestRule;
|
|
||||||
import com.google.android.exoplayer2.ControlDispatcher;
|
import com.google.android.exoplayer2.ControlDispatcher;
|
||||||
import com.google.android.exoplayer2.DefaultControlDispatcher;
|
import com.google.android.exoplayer2.DefaultControlDispatcher;
|
||||||
import com.google.android.exoplayer2.Player;
|
import com.google.android.exoplayer2.Player;
|
||||||
|
|
@ -73,9 +71,6 @@ import org.junit.runner.RunWith;
|
||||||
@SuppressWarnings("FutureReturnValueIgnored")
|
@SuppressWarnings("FutureReturnValueIgnored")
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class SessionPlayerConnectorTest {
|
public class SessionPlayerConnectorTest {
|
||||||
@Rule
|
|
||||||
public final ActivityTestRule<MediaStubActivity> activityRule =
|
|
||||||
new ActivityTestRule<>(MediaStubActivity.class);
|
|
||||||
|
|
||||||
@Rule public final PlayerTestRule playerTestRule = new PlayerTestRule();
|
@Rule public final PlayerTestRule playerTestRule = new PlayerTestRule();
|
||||||
|
|
||||||
|
|
@ -93,16 +88,6 @@ public class SessionPlayerConnectorTest {
|
||||||
context = ApplicationProvider.getApplicationContext();
|
context = ApplicationProvider.getApplicationContext();
|
||||||
executor = playerTestRule.getExecutor();
|
executor = playerTestRule.getExecutor();
|
||||||
sessionPlayerConnector = playerTestRule.getSessionPlayerConnector();
|
sessionPlayerConnector = playerTestRule.getSessionPlayerConnector();
|
||||||
|
|
||||||
// Sets the surface to the player for manual check.
|
|
||||||
InstrumentationRegistry.getInstrumentation()
|
|
||||||
.runOnMainSync(
|
|
||||||
() -> {
|
|
||||||
SimpleExoPlayer exoPlayer = playerTestRule.getSimpleExoPlayer();
|
|
||||||
exoPlayer
|
|
||||||
.getVideoComponent()
|
|
||||||
.setVideoSurfaceHolder(activityRule.getActivity().getSurfaceHolder());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -120,7 +105,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
if (playerState == PLAYER_STATE_PLAYING) {
|
if (playerState == PLAYER_STATE_PLAYING) {
|
||||||
onPlayingLatch.countDown();
|
onPlayingLatch.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -157,8 +142,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
@NonNull SessionPlayer player, int playerState) {
|
|
||||||
if (playerState == PLAYER_STATE_PLAYING) {
|
if (playerState == PLAYER_STATE_PLAYING) {
|
||||||
onPlayerStatePlayingLatch.countDown();
|
onPlayerStatePlayingLatch.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -218,7 +202,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
|
public void onPlaybackCompleted(SessionPlayer player) {
|
||||||
onPlaybackCompletedLatch.countDown();
|
onPlaybackCompletedLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -242,7 +226,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
|
public void onPlaybackCompleted(SessionPlayer player) {
|
||||||
onPlaybackCompletedLatch.countDown();
|
onPlaybackCompletedLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -359,7 +343,7 @@ public class SessionPlayerConnectorTest {
|
||||||
SessionPlayer.PlayerCallback callback =
|
SessionPlayer.PlayerCallback callback =
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
|
public void onPlaybackCompleted(SessionPlayer player) {
|
||||||
onPlaybackCompletedLatch.countDown();
|
onPlaybackCompletedLatch.countDown();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -420,7 +404,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSeekCompleted(@NonNull SessionPlayer player, long position) {
|
public void onSeekCompleted(SessionPlayer player, long position) {
|
||||||
// Do not assert here, because onSeekCompleted() can be called after the player is
|
// Do not assert here, because onSeekCompleted() can be called after the player is
|
||||||
// closed.
|
// closed.
|
||||||
positionChanges.add(position);
|
positionChanges.add(position);
|
||||||
|
|
@ -483,7 +467,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSeekCompleted(@NonNull SessionPlayer player, long position) {
|
public void onSeekCompleted(SessionPlayer player, long position) {
|
||||||
// Do not assert here, because onSeekCompleted() can be called after the player is
|
// Do not assert here, because onSeekCompleted() can be called after the player is
|
||||||
// closed.
|
// closed.
|
||||||
seekPosition.set(position);
|
seekPosition.set(position);
|
||||||
|
|
@ -553,7 +537,7 @@ public class SessionPlayerConnectorTest {
|
||||||
SessionPlayer.PlayerCallback callback =
|
SessionPlayer.PlayerCallback callback =
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int state) {
|
public void onPlayerStateChanged(SessionPlayer player, int state) {
|
||||||
if (state == SessionPlayer.PLAYER_STATE_PAUSED) {
|
if (state == SessionPlayer.PLAYER_STATE_PAUSED) {
|
||||||
onPlayerStatePaused.countDown();
|
onPlayerStatePaused.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -577,7 +561,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onBufferingStateChanged(
|
public void onBufferingStateChanged(
|
||||||
@NonNull SessionPlayer player, MediaItem item, int buffState) {
|
SessionPlayer player, @Nullable MediaItem item, int buffState) {
|
||||||
bufferingStateChanges.add(buffState);
|
bufferingStateChanges.add(buffState);
|
||||||
if (buffState == SessionPlayer.BUFFERING_STATE_COMPLETE) {
|
if (buffState == SessionPlayer.BUFFERING_STATE_COMPLETE) {
|
||||||
onBufferingCompletedLatch.countDown();
|
onBufferingCompletedLatch.countDown();
|
||||||
|
|
@ -613,7 +597,7 @@ public class SessionPlayerConnectorTest {
|
||||||
SessionPlayer.PlayerCallback callback =
|
SessionPlayer.PlayerCallback callback =
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSeekCompleted(@NonNull SessionPlayer player, long position) {
|
public void onSeekCompleted(SessionPlayer player, long position) {
|
||||||
onSeekCompletedLatch.countDown();
|
onSeekCompletedLatch.countDown();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -636,7 +620,7 @@ public class SessionPlayerConnectorTest {
|
||||||
SessionPlayer.PlayerCallback callback =
|
SessionPlayer.PlayerCallback callback =
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackSpeedChanged(@NonNull SessionPlayer player, float speed) {
|
public void onPlaybackSpeedChanged(SessionPlayer player, float speed) {
|
||||||
assertThat(speed).isWithin(FLOAT_TOLERANCE).of(0.5f);
|
assertThat(speed).isWithin(FLOAT_TOLERANCE).of(0.5f);
|
||||||
onPlaybackSpeedChangedLatch.countDown();
|
onPlaybackSpeedChangedLatch.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -736,7 +720,6 @@ public class SessionPlayerConnectorTest {
|
||||||
@SmallTest
|
@SmallTest
|
||||||
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.KITKAT)
|
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.KITKAT)
|
||||||
public void setPlaylist_withNullPlaylist_throwsException() throws Exception {
|
public void setPlaylist_withNullPlaylist_throwsException() throws Exception {
|
||||||
List<MediaItem> playlist = TestUtils.createPlaylist(10);
|
|
||||||
try {
|
try {
|
||||||
sessionPlayerConnector.setPlaylist(null, null);
|
sessionPlayerConnector.setPlaylist(null, null);
|
||||||
assertWithMessage("null playlist shouldn't be allowed").fail();
|
assertWithMessage("null playlist shouldn't be allowed").fail();
|
||||||
|
|
@ -783,7 +766,7 @@ public class SessionPlayerConnectorTest {
|
||||||
PlayerCallbackForPlaylist callback =
|
PlayerCallbackForPlaylist callback =
|
||||||
new PlayerCallbackForPlaylist(playlist, 2) {
|
new PlayerCallbackForPlaylist(playlist, 2) {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
countDown();
|
countDown();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -811,7 +794,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaylistChanged(
|
public void onPlaylistChanged(
|
||||||
@NonNull SessionPlayer player,
|
SessionPlayer player,
|
||||||
@Nullable List<MediaItem> list,
|
@Nullable List<MediaItem> list,
|
||||||
@Nullable MediaMetadata metadata) {
|
@Nullable MediaMetadata metadata) {
|
||||||
assertThat(list).isEqualTo(playlist);
|
assertThat(list).isEqualTo(playlist);
|
||||||
|
|
@ -830,7 +813,6 @@ public class SessionPlayerConnectorTest {
|
||||||
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.KITKAT)
|
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.KITKAT)
|
||||||
public void setPlaylist_byUnderlyingPlayerBeforePrepare_notifiesOnPlaylistChanged()
|
public void setPlaylist_byUnderlyingPlayerBeforePrepare_notifiesOnPlaylistChanged()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
List<MediaItem> playlistToSessionPlayer = TestUtils.createPlaylist(2);
|
|
||||||
List<MediaItem> playlistToExoPlayer = TestUtils.createPlaylist(4);
|
List<MediaItem> playlistToExoPlayer = TestUtils.createPlaylist(4);
|
||||||
DefaultMediaItemConverter converter = new DefaultMediaItemConverter();
|
DefaultMediaItemConverter converter = new DefaultMediaItemConverter();
|
||||||
List<com.google.android.exoplayer2.MediaItem> exoMediaItems = new ArrayList<>();
|
List<com.google.android.exoplayer2.MediaItem> exoMediaItems = new ArrayList<>();
|
||||||
|
|
@ -844,7 +826,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaylistChanged(
|
public void onPlaylistChanged(
|
||||||
@NonNull SessionPlayer player,
|
SessionPlayer player,
|
||||||
@Nullable List<MediaItem> list,
|
@Nullable List<MediaItem> list,
|
||||||
@Nullable MediaMetadata metadata) {
|
@Nullable MediaMetadata metadata) {
|
||||||
if (ObjectsCompat.equals(list, playlistToExoPlayer)) {
|
if (ObjectsCompat.equals(list, playlistToExoPlayer)) {
|
||||||
|
|
@ -876,7 +858,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaylistChanged(
|
public void onPlaylistChanged(
|
||||||
@NonNull SessionPlayer player,
|
SessionPlayer player,
|
||||||
@Nullable List<MediaItem> list,
|
@Nullable List<MediaItem> list,
|
||||||
@Nullable MediaMetadata metadata) {
|
@Nullable MediaMetadata metadata) {
|
||||||
if (ObjectsCompat.equals(list, playlistToExoPlayer)) {
|
if (ObjectsCompat.equals(list, playlistToExoPlayer)) {
|
||||||
|
|
@ -908,7 +890,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaylistChanged(
|
public void onPlaylistChanged(
|
||||||
@NonNull SessionPlayer player,
|
SessionPlayer player,
|
||||||
@Nullable List<MediaItem> list,
|
@Nullable List<MediaItem> list,
|
||||||
@Nullable MediaMetadata metadata) {
|
@Nullable MediaMetadata metadata) {
|
||||||
assertThat(list).isEqualTo(playlist);
|
assertThat(list).isEqualTo(playlist);
|
||||||
|
|
@ -936,7 +918,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaylistChanged(
|
public void onPlaylistChanged(
|
||||||
@NonNull SessionPlayer player,
|
SessionPlayer player,
|
||||||
@Nullable List<MediaItem> list,
|
@Nullable List<MediaItem> list,
|
||||||
@Nullable MediaMetadata metadata) {
|
@Nullable MediaMetadata metadata) {
|
||||||
assertThat(list).isEqualTo(playlist);
|
assertThat(list).isEqualTo(playlist);
|
||||||
|
|
@ -965,7 +947,7 @@ public class SessionPlayerConnectorTest {
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlaylistChanged(
|
public void onPlaylistChanged(
|
||||||
@NonNull SessionPlayer player,
|
SessionPlayer player,
|
||||||
@Nullable List<MediaItem> list,
|
@Nullable List<MediaItem> list,
|
||||||
@Nullable MediaMetadata metadata) {
|
@Nullable MediaMetadata metadata) {
|
||||||
assertThat(list).isEqualTo(playlist);
|
assertThat(list).isEqualTo(playlist);
|
||||||
|
|
@ -1019,8 +1001,7 @@ public class SessionPlayerConnectorTest {
|
||||||
int currentMediaItemChangedCount = 0;
|
int currentMediaItemChangedCount = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCurrentMediaItemChanged(
|
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
|
||||||
@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
|
||||||
assertThat(item).isEqualTo(player.getCurrentMediaItem());
|
assertThat(item).isEqualTo(player.getCurrentMediaItem());
|
||||||
|
|
||||||
int expectedCurrentIndex = currentMediaItemChangedCount++;
|
int expectedCurrentIndex = currentMediaItemChangedCount++;
|
||||||
|
|
@ -1029,7 +1010,7 @@ public class SessionPlayerConnectorTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
|
public void onPlaybackCompleted(SessionPlayer player) {
|
||||||
onPlaybackCompletedLatch.countDown();
|
onPlaybackCompletedLatch.countDown();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -1054,7 +1035,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
if (playerState == PLAYER_STATE_PLAYING) {
|
if (playerState == PLAYER_STATE_PLAYING) {
|
||||||
onPlayingLatch.countDown();
|
onPlayingLatch.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -1093,7 +1074,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
if (playerState == PLAYER_STATE_PAUSED) {
|
if (playerState == PLAYER_STATE_PAUSED) {
|
||||||
onPausedLatch.countDown();
|
onPausedLatch.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -1119,7 +1100,7 @@ public class SessionPlayerConnectorTest {
|
||||||
executor,
|
executor,
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
|
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
|
||||||
playerStateChanges.add(playerState);
|
playerStateChanges.add(playerState);
|
||||||
playerStateChangesLatch.countDown();
|
playerStateChangesLatch.countDown();
|
||||||
}
|
}
|
||||||
|
|
@ -1170,8 +1151,7 @@ public class SessionPlayerConnectorTest {
|
||||||
SessionPlayer.PlayerCallback skipToNextTestCallback =
|
SessionPlayer.PlayerCallback skipToNextTestCallback =
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onCurrentMediaItemChanged(
|
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
|
||||||
@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
|
||||||
super.onCurrentMediaItemChanged(player, item);
|
super.onCurrentMediaItemChanged(player, item);
|
||||||
assertThat(player.getCurrentMediaItemIndex()).isEqualTo(1);
|
assertThat(player.getCurrentMediaItemIndex()).isEqualTo(1);
|
||||||
assertThat(item).isEqualTo(player.getCurrentMediaItem());
|
assertThat(item).isEqualTo(player.getCurrentMediaItem());
|
||||||
|
|
@ -1189,8 +1169,7 @@ public class SessionPlayerConnectorTest {
|
||||||
SessionPlayer.PlayerCallback skipToPreviousTestCallback =
|
SessionPlayer.PlayerCallback skipToPreviousTestCallback =
|
||||||
new SessionPlayer.PlayerCallback() {
|
new SessionPlayer.PlayerCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onCurrentMediaItemChanged(
|
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
|
||||||
@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
|
||||||
super.onCurrentMediaItemChanged(player, item);
|
super.onCurrentMediaItemChanged(player, item);
|
||||||
assertThat(player.getCurrentMediaItemIndex()).isEqualTo(0);
|
assertThat(player.getCurrentMediaItemIndex()).isEqualTo(0);
|
||||||
assertThat(item).isEqualTo(player.getCurrentMediaItem());
|
assertThat(item).isEqualTo(player.getCurrentMediaItem());
|
||||||
|
|
@ -1221,15 +1200,14 @@ public class SessionPlayerConnectorTest {
|
||||||
PlayerCallbackForPlaylist callback =
|
PlayerCallbackForPlaylist callback =
|
||||||
new PlayerCallbackForPlaylist(playlist, listSize + 2) {
|
new PlayerCallbackForPlaylist(playlist, listSize + 2) {
|
||||||
@Override
|
@Override
|
||||||
public void onCurrentMediaItemChanged(
|
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
|
||||||
@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
|
||||||
super.onCurrentMediaItemChanged(player, item);
|
super.onCurrentMediaItemChanged(player, item);
|
||||||
currentMediaItemChanges.add(item);
|
currentMediaItemChanges.add(item);
|
||||||
countDown();
|
countDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
|
public void onPlaybackCompleted(SessionPlayer player) {
|
||||||
assertWithMessage(
|
assertWithMessage(
|
||||||
"Playback shouldn't be completed, Actual changes were %s",
|
"Playback shouldn't be completed, Actual changes were %s",
|
||||||
currentMediaItemChanges)
|
currentMediaItemChanges)
|
||||||
|
|
@ -1305,7 +1283,7 @@ public class SessionPlayerConnectorTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class PlayerCallbackForPlaylist extends SessionPlayer.PlayerCallback {
|
private class PlayerCallbackForPlaylist extends SessionPlayer.PlayerCallback {
|
||||||
private List<MediaItem> playlist;
|
private final List<MediaItem> playlist;
|
||||||
private CountDownLatch onCurrentMediaItemChangedLatch;
|
private CountDownLatch onCurrentMediaItemChangedLatch;
|
||||||
|
|
||||||
PlayerCallbackForPlaylist(List<MediaItem> playlist, int count) {
|
PlayerCallbackForPlaylist(List<MediaItem> playlist, int count) {
|
||||||
|
|
@ -1314,7 +1292,7 @@ public class SessionPlayerConnectorTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCurrentMediaItemChanged(@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
|
||||||
int currentIndex = playlist.indexOf(item);
|
int currentIndex = playlist.indexOf(item);
|
||||||
assertThat(sessionPlayerConnector.getCurrentMediaItemIndex()).isEqualTo(currentIndex);
|
assertThat(sessionPlayerConnector.getCurrentMediaItemIndex()).isEqualTo(currentIndex);
|
||||||
onCurrentMediaItemChangedLatch.countDown();
|
onCurrentMediaItemChangedLatch.countDown();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue