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:
andrewlewis 2020-11-24 13:28:01 +00:00 committed by kim-vde
parent 1b1a1a6414
commit 809b8a0679
5 changed files with 33 additions and 167 deletions

View file

@ -22,15 +22,6 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<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
android:targetPackage="com.google.android.exoplayer2.ext.media2.test"
android:name="androidx.test.runner.AndroidJUnitRunner"/>

View file

@ -21,7 +21,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
import android.content.Context;
import android.support.v4.media.session.MediaControllerCompat;
import android.support.v4.media.session.MediaSessionCompat;
import androidx.annotation.NonNull;
import androidx.media2.common.SessionPlayer;
import androidx.media2.common.SessionPlayer.PlayerResult;
import androidx.media2.session.MediaSession;
@ -57,7 +56,7 @@ public class MediaSessionUtilTest {
playerTestRule.getExecutor(),
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
if (playerState == SessionPlayer.PLAYER_STATE_PLAYING) {
latch.countDown();
}

View file

@ -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();
}
}

View file

@ -24,7 +24,6 @@ import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.media2.common.MediaItem;
@ -41,9 +40,6 @@ import androidx.media2.session.SessionResult;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
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.upstream.RawResourceDataSource;
import java.util.ArrayList;
@ -60,9 +56,6 @@ import org.junit.runner.RunWith;
/** Tests {@link SessionCallbackBuilder}. */
@RunWith(AndroidJUnit4.class)
public class SessionCallbackBuilderTest {
@Rule
public final ActivityTestRule<MediaStubActivity> activityRule =
new ActivityTestRule<>(MediaStubActivity.class);
@Rule public final PlayerTestRule playerTestRule = new PlayerTestRule();
@ -80,16 +73,6 @@ public class SessionCallbackBuilderTest {
context = ApplicationProvider.getApplicationContext();
executor = playerTestRule.getExecutor();
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
@ -469,8 +452,7 @@ public class SessionCallbackBuilderTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onCurrentMediaItemChanged(
@NonNull SessionPlayer player, @NonNull MediaItem item) {
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
MediaMetadata metadata = item.getMetadata();
assertThat(metadata.getString(MediaMetadata.METADATA_KEY_MEDIA_ID))
.isEqualTo(testMediaUri.toString());
@ -613,15 +595,14 @@ public class SessionCallbackBuilderTest {
new MediaController.ControllerCallback() {
@Override
public void onAllowedCommandsChanged(
@NonNull MediaController controller, @NonNull SessionCommandGroup commands) {
MediaController controller, SessionCommandGroup commands) {
if (onAllowedCommandsChangedListener != null) {
onAllowedCommandsChangedListener.onAllowedCommandsChanged(controller, commands);
}
}
@Override
public void onConnected(
@NonNull MediaController controller, @NonNull SessionCommandGroup allowedCommands) {
public void onConnected(MediaController controller, SessionCommandGroup allowedCommands) {
if (onConnectedListener != null) {
onConnectedListener.onConnected(controller, allowedCommands);
}

View file

@ -31,7 +31,6 @@ import android.media.AudioManager;
import android.os.Build;
import android.os.Build.VERSION_CODES;
import android.os.Looper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.util.ObjectsCompat;
import androidx.media.AudioAttributesCompat;
@ -47,7 +46,6 @@ import androidx.test.filters.MediumTest;
import androidx.test.filters.SdkSuppress;
import androidx.test.filters.SmallTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.ActivityTestRule;
import com.google.android.exoplayer2.ControlDispatcher;
import com.google.android.exoplayer2.DefaultControlDispatcher;
import com.google.android.exoplayer2.Player;
@ -73,9 +71,6 @@ import org.junit.runner.RunWith;
@SuppressWarnings("FutureReturnValueIgnored")
@RunWith(AndroidJUnit4.class)
public class SessionPlayerConnectorTest {
@Rule
public final ActivityTestRule<MediaStubActivity> activityRule =
new ActivityTestRule<>(MediaStubActivity.class);
@Rule public final PlayerTestRule playerTestRule = new PlayerTestRule();
@ -93,16 +88,6 @@ public class SessionPlayerConnectorTest {
context = ApplicationProvider.getApplicationContext();
executor = playerTestRule.getExecutor();
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
@ -120,7 +105,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
if (playerState == PLAYER_STATE_PLAYING) {
onPlayingLatch.countDown();
}
@ -157,8 +142,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(
@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
if (playerState == PLAYER_STATE_PLAYING) {
onPlayerStatePlayingLatch.countDown();
}
@ -218,7 +202,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
public void onPlaybackCompleted(SessionPlayer player) {
onPlaybackCompletedLatch.countDown();
}
});
@ -242,7 +226,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
public void onPlaybackCompleted(SessionPlayer player) {
onPlaybackCompletedLatch.countDown();
}
});
@ -359,7 +343,7 @@ public class SessionPlayerConnectorTest {
SessionPlayer.PlayerCallback callback =
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
public void onPlaybackCompleted(SessionPlayer player) {
onPlaybackCompletedLatch.countDown();
}
};
@ -420,7 +404,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@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
// closed.
positionChanges.add(position);
@ -483,7 +467,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@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
// closed.
seekPosition.set(position);
@ -553,7 +537,7 @@ public class SessionPlayerConnectorTest {
SessionPlayer.PlayerCallback callback =
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int state) {
public void onPlayerStateChanged(SessionPlayer player, int state) {
if (state == SessionPlayer.PLAYER_STATE_PAUSED) {
onPlayerStatePaused.countDown();
}
@ -577,7 +561,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onBufferingStateChanged(
@NonNull SessionPlayer player, MediaItem item, int buffState) {
SessionPlayer player, @Nullable MediaItem item, int buffState) {
bufferingStateChanges.add(buffState);
if (buffState == SessionPlayer.BUFFERING_STATE_COMPLETE) {
onBufferingCompletedLatch.countDown();
@ -613,7 +597,7 @@ public class SessionPlayerConnectorTest {
SessionPlayer.PlayerCallback callback =
new SessionPlayer.PlayerCallback() {
@Override
public void onSeekCompleted(@NonNull SessionPlayer player, long position) {
public void onSeekCompleted(SessionPlayer player, long position) {
onSeekCompletedLatch.countDown();
}
};
@ -636,7 +620,7 @@ public class SessionPlayerConnectorTest {
SessionPlayer.PlayerCallback callback =
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaybackSpeedChanged(@NonNull SessionPlayer player, float speed) {
public void onPlaybackSpeedChanged(SessionPlayer player, float speed) {
assertThat(speed).isWithin(FLOAT_TOLERANCE).of(0.5f);
onPlaybackSpeedChangedLatch.countDown();
}
@ -736,7 +720,6 @@ public class SessionPlayerConnectorTest {
@SmallTest
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.KITKAT)
public void setPlaylist_withNullPlaylist_throwsException() throws Exception {
List<MediaItem> playlist = TestUtils.createPlaylist(10);
try {
sessionPlayerConnector.setPlaylist(null, null);
assertWithMessage("null playlist shouldn't be allowed").fail();
@ -783,7 +766,7 @@ public class SessionPlayerConnectorTest {
PlayerCallbackForPlaylist callback =
new PlayerCallbackForPlaylist(playlist, 2) {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
countDown();
}
};
@ -811,7 +794,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaylistChanged(
@NonNull SessionPlayer player,
SessionPlayer player,
@Nullable List<MediaItem> list,
@Nullable MediaMetadata metadata) {
assertThat(list).isEqualTo(playlist);
@ -830,7 +813,6 @@ public class SessionPlayerConnectorTest {
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.KITKAT)
public void setPlaylist_byUnderlyingPlayerBeforePrepare_notifiesOnPlaylistChanged()
throws Exception {
List<MediaItem> playlistToSessionPlayer = TestUtils.createPlaylist(2);
List<MediaItem> playlistToExoPlayer = TestUtils.createPlaylist(4);
DefaultMediaItemConverter converter = new DefaultMediaItemConverter();
List<com.google.android.exoplayer2.MediaItem> exoMediaItems = new ArrayList<>();
@ -844,7 +826,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaylistChanged(
@NonNull SessionPlayer player,
SessionPlayer player,
@Nullable List<MediaItem> list,
@Nullable MediaMetadata metadata) {
if (ObjectsCompat.equals(list, playlistToExoPlayer)) {
@ -876,7 +858,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaylistChanged(
@NonNull SessionPlayer player,
SessionPlayer player,
@Nullable List<MediaItem> list,
@Nullable MediaMetadata metadata) {
if (ObjectsCompat.equals(list, playlistToExoPlayer)) {
@ -908,7 +890,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaylistChanged(
@NonNull SessionPlayer player,
SessionPlayer player,
@Nullable List<MediaItem> list,
@Nullable MediaMetadata metadata) {
assertThat(list).isEqualTo(playlist);
@ -936,7 +918,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaylistChanged(
@NonNull SessionPlayer player,
SessionPlayer player,
@Nullable List<MediaItem> list,
@Nullable MediaMetadata metadata) {
assertThat(list).isEqualTo(playlist);
@ -965,7 +947,7 @@ public class SessionPlayerConnectorTest {
new SessionPlayer.PlayerCallback() {
@Override
public void onPlaylistChanged(
@NonNull SessionPlayer player,
SessionPlayer player,
@Nullable List<MediaItem> list,
@Nullable MediaMetadata metadata) {
assertThat(list).isEqualTo(playlist);
@ -1019,8 +1001,7 @@ public class SessionPlayerConnectorTest {
int currentMediaItemChangedCount = 0;
@Override
public void onCurrentMediaItemChanged(
@NonNull SessionPlayer player, @NonNull MediaItem item) {
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
assertThat(item).isEqualTo(player.getCurrentMediaItem());
int expectedCurrentIndex = currentMediaItemChangedCount++;
@ -1029,7 +1010,7 @@ public class SessionPlayerConnectorTest {
}
@Override
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
public void onPlaybackCompleted(SessionPlayer player) {
onPlaybackCompletedLatch.countDown();
}
});
@ -1054,7 +1035,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
if (playerState == PLAYER_STATE_PLAYING) {
onPlayingLatch.countDown();
}
@ -1093,7 +1074,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
if (playerState == PLAYER_STATE_PAUSED) {
onPausedLatch.countDown();
}
@ -1119,7 +1100,7 @@ public class SessionPlayerConnectorTest {
executor,
new SessionPlayer.PlayerCallback() {
@Override
public void onPlayerStateChanged(@NonNull SessionPlayer player, int playerState) {
public void onPlayerStateChanged(SessionPlayer player, int playerState) {
playerStateChanges.add(playerState);
playerStateChangesLatch.countDown();
}
@ -1170,8 +1151,7 @@ public class SessionPlayerConnectorTest {
SessionPlayer.PlayerCallback skipToNextTestCallback =
new SessionPlayer.PlayerCallback() {
@Override
public void onCurrentMediaItemChanged(
@NonNull SessionPlayer player, @NonNull MediaItem item) {
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
super.onCurrentMediaItemChanged(player, item);
assertThat(player.getCurrentMediaItemIndex()).isEqualTo(1);
assertThat(item).isEqualTo(player.getCurrentMediaItem());
@ -1189,8 +1169,7 @@ public class SessionPlayerConnectorTest {
SessionPlayer.PlayerCallback skipToPreviousTestCallback =
new SessionPlayer.PlayerCallback() {
@Override
public void onCurrentMediaItemChanged(
@NonNull SessionPlayer player, @NonNull MediaItem item) {
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
super.onCurrentMediaItemChanged(player, item);
assertThat(player.getCurrentMediaItemIndex()).isEqualTo(0);
assertThat(item).isEqualTo(player.getCurrentMediaItem());
@ -1221,15 +1200,14 @@ public class SessionPlayerConnectorTest {
PlayerCallbackForPlaylist callback =
new PlayerCallbackForPlaylist(playlist, listSize + 2) {
@Override
public void onCurrentMediaItemChanged(
@NonNull SessionPlayer player, @NonNull MediaItem item) {
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
super.onCurrentMediaItemChanged(player, item);
currentMediaItemChanges.add(item);
countDown();
}
@Override
public void onPlaybackCompleted(@NonNull SessionPlayer player) {
public void onPlaybackCompleted(SessionPlayer player) {
assertWithMessage(
"Playback shouldn't be completed, Actual changes were %s",
currentMediaItemChanges)
@ -1305,7 +1283,7 @@ public class SessionPlayerConnectorTest {
}
private class PlayerCallbackForPlaylist extends SessionPlayer.PlayerCallback {
private List<MediaItem> playlist;
private final List<MediaItem> playlist;
private CountDownLatch onCurrentMediaItemChangedLatch;
PlayerCallbackForPlaylist(List<MediaItem> playlist, int count) {
@ -1314,7 +1292,7 @@ public class SessionPlayerConnectorTest {
}
@Override
public void onCurrentMediaItemChanged(@NonNull SessionPlayer player, @NonNull MediaItem item) {
public void onCurrentMediaItemChanged(SessionPlayer player, MediaItem item) {
int currentIndex = playlist.indexOf(item);
assertThat(sessionPlayerConnector.getCurrentMediaItemIndex()).isEqualTo(currentIndex);
onCurrentMediaItemChangedLatch.countDown();