Remove deprecated MediaSession.getSessionCompatToken

And also the deprecated override of
ControllerInfo.createTestOnlyControllerInfo using the
androidx.media classes.

PiperOrigin-RevId: 688625484
This commit is contained in:
tonihei 2024-10-22 11:27:42 -07:00 committed by Copybara-Service
parent a645f704b8
commit e43720b83a
8 changed files with 200 additions and 153 deletions

View File

@ -59,7 +59,6 @@ import androidx.media3.common.util.Util;
import androidx.media3.datasource.DataSourceBitmapLoader; import androidx.media3.datasource.DataSourceBitmapLoader;
import androidx.media3.session.MediaLibraryService.LibraryParams; import androidx.media3.session.MediaLibraryService.LibraryParams;
import androidx.media3.session.MediaLibraryService.MediaLibrarySession; import androidx.media3.session.MediaLibraryService.MediaLibrarySession;
import androidx.media3.session.legacy.LegacyParcelableUtil;
import androidx.media3.session.legacy.MediaControllerCompat; import androidx.media3.session.legacy.MediaControllerCompat;
import androidx.media3.session.legacy.MediaSessionCompat; import androidx.media3.session.legacy.MediaSessionCompat;
import androidx.media3.session.legacy.MediaSessionManager.RemoteUserInfo; import androidx.media3.session.legacy.MediaSessionManager.RemoteUserInfo;
@ -664,29 +663,6 @@ public class MediaSession {
/* maxCommandsForMediaItems= */ 0); /* maxCommandsForMediaItems= */ 0);
} }
/**
* @deprecated Use {@link #createTestOnlyControllerInfo(String, int, int, int, int, boolean,
* Bundle)} instead.
*/
@VisibleForTesting(otherwise = PRIVATE)
@SuppressWarnings("UnnecessarilyFullyQualified") // Avoiding clash with Media3 RemoteUserInfo.
@Deprecated
public static ControllerInfo createTestOnlyControllerInfo(
androidx.media.MediaSessionManager.RemoteUserInfo remoteUserInfo,
int libraryVersion,
int interfaceVersion,
boolean trusted,
Bundle connectionHints) {
return createTestOnlyControllerInfo(
remoteUserInfo.getPackageName(),
remoteUserInfo.getPid(),
remoteUserInfo.getUid(),
libraryVersion,
interfaceVersion,
trusted,
connectionHints);
}
/** Returns a {@link ControllerInfo} suitable for use when testing client code. */ /** Returns a {@link ControllerInfo} suitable for use when testing client code. */
@VisibleForTesting(otherwise = PRIVATE) @VisibleForTesting(otherwise = PRIVATE)
public static ControllerInfo createTestOnlyControllerInfo( public static ControllerInfo createTestOnlyControllerInfo(
@ -1341,20 +1317,6 @@ public class MediaSession {
return impl.getSessionCompat(); return impl.getSessionCompat();
} }
/**
* Returns the legacy {@code android.support.v4.media.session.MediaSessionCompat.Token} of the
* {@code android.support.v4.media.session.MediaSessionCompat} created internally by this session.
*
* @deprecated Use {@link #getPlatformToken()} instead.
*/
@Deprecated
@UnstableApi
public final android.support.v4.media.session.MediaSessionCompat.Token getSessionCompatToken() {
return LegacyParcelableUtil.convert(
impl.getSessionCompat().getSessionToken(),
android.support.v4.media.session.MediaSessionCompat.Token.CREATOR);
}
/** /**
* Returns the platform {@link android.media.session.MediaSession.Token} of the {@link * Returns the platform {@link android.media.session.MediaSession.Token} of the {@link
* android.media.session.MediaSession} created internally by this session. * android.media.session.MediaSession} created internally by this session.

View File

@ -1893,7 +1893,8 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
throws Exception { throws Exception {
MediaControllerCompat controllerCompat = MediaControllerCompat controllerCompat =
new MediaControllerCompat( new MediaControllerCompat(
ApplicationProvider.getApplicationContext(), mediaSession.getSessionCompatToken()); ApplicationProvider.getApplicationContext(),
MediaSessionCompat.Token.fromToken(mediaSession.getPlatformToken()));
CountDownLatch controllerReady = new CountDownLatch(1); CountDownLatch controllerReady = new CountDownLatch(1);
controllerCompat.registerCallback( controllerCompat.registerCallback(
new MediaControllerCompat.Callback() { new MediaControllerCompat.Callback() {

View File

@ -164,7 +164,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
// Invoke any command for session to recognize the controller compat. // Invoke any command for session to recognize the controller compat.
controller.getTransportControls().seekTo(111); controller.getTransportControls().seekTo(111);
@ -205,7 +207,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
session.setLegacyControllerConnectionTimeoutMs(0); session.setLegacyControllerConnectionTimeoutMs(0);
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
// Invoke any command for session to recognize the controller compat. // Invoke any command for session to recognize the controller compat.
controller.getTransportControls().seekTo(111); controller.getTransportControls().seekTo(111);
assertThat(disconnectedLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(disconnectedLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue();
@ -226,7 +230,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().play(); controller.getTransportControls().play();
player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS);
@ -245,7 +251,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().play(); controller.getTransportControls().play();
player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS);
@ -266,7 +274,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().play(); controller.getTransportControls().play();
player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS);
@ -285,7 +295,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().play(); controller.getTransportControls().play();
player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_DEFAULT_POSITION, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_DEFAULT_POSITION, TIMEOUT_MS);
@ -310,7 +322,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().play(); controller.getTransportControls().play();
player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS);
@ -328,7 +342,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().pause(); controller.getTransportControls().pause();
player.awaitMethodCalled(MockPlayer.METHOD_PAUSE, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PAUSE, TIMEOUT_MS);
@ -343,7 +359,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().stop(); controller.getTransportControls().stop();
player.awaitMethodCalled(MockPlayer.METHOD_STOP, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_STOP, TIMEOUT_MS);
@ -358,7 +376,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().prepare(); controller.getTransportControls().prepare();
player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS);
@ -373,7 +393,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
long seekPosition = 12125L; long seekPosition = 12125L;
controller.getTransportControls().seekTo(seekPosition); controller.getTransportControls().seekTo(seekPosition);
@ -391,7 +413,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
float testSpeed = 2.0f; float testSpeed = 2.0f;
controller.getTransportControls().setPlaybackSpeed(testSpeed); controller.getTransportControls().setPlaybackSpeed(testSpeed);
@ -409,7 +433,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().setPlaybackSpeed(-0.0001f); controller.getTransportControls().setPlaybackSpeed(-0.0001f);
controller.getTransportControls().setPlaybackSpeed(Float.NaN); controller.getTransportControls().setPlaybackSpeed(Float.NaN);
@ -440,7 +466,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
handler.postAndSync( handler.postAndSync(
() -> { () -> {
@ -486,7 +514,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
handler.postAndSync( handler.postAndSync(
() -> { () -> {
@ -532,7 +562,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
handler.postAndSync( handler.postAndSync(
() -> { () -> {
@ -564,7 +596,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
List<MediaItem> mediaItems = MediaTestUtils.createMediaItems(/* size= */ 10); List<MediaItem> mediaItems = MediaTestUtils.createMediaItems(/* size= */ 10);
handler.postAndSync( handler.postAndSync(
@ -594,7 +628,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().skipToPrevious(); controller.getTransportControls().skipToPrevious();
player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_PREVIOUS, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_PREVIOUS, TIMEOUT_MS);
@ -615,7 +651,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().skipToPrevious(); controller.getTransportControls().skipToPrevious();
player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_PREVIOUS_MEDIA_ITEM, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_PREVIOUS_MEDIA_ITEM, TIMEOUT_MS);
@ -630,7 +668,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().skipToNext(); controller.getTransportControls().skipToNext();
player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_NEXT, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_NEXT, TIMEOUT_MS);
@ -648,7 +688,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().skipToNext(); controller.getTransportControls().skipToNext();
player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_NEXT_MEDIA_ITEM, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_NEXT_MEDIA_ITEM, TIMEOUT_MS);
@ -663,7 +705,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
handler.postAndSync( handler.postAndSync(
() -> { () -> {
@ -673,7 +717,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
// Get Queue from local MediaControllerCompat. // Get Queue from local MediaControllerCompat.
List<QueueItem> queue = List<QueueItem> queue =
new MediaControllerCompat(context, session.getSessionCompatToken()).getQueue(); new MediaControllerCompat(
context, MediaSessionCompat.Token.fromToken(session.getPlatformToken()))
.getQueue();
int targetIndex = 3; int targetIndex = 3;
controller.getTransportControls().skipToQueueItem(queue.get(targetIndex).getQueueId()); controller.getTransportControls().skipToQueueItem(queue.get(targetIndex).getQueueId());
player.awaitMethodCalled( player.awaitMethodCalled(
@ -691,7 +737,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
handler.postAndSync( handler.postAndSync(
() -> { () -> {
player.timeline = MediaTestUtils.createTimeline(/* windowCount= */ 10); player.timeline = MediaTestUtils.createTimeline(/* windowCount= */ 10);
@ -730,7 +778,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build())); .build()));
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.get().getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.get().getPlatformToken()),
/* waitForConnection= */ true);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
session.get().getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.get().getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
@ -760,7 +810,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
session = new MediaSession.Builder(context, player).setId("dispatchMediaButtonEvent").build(); session = new MediaSession.Builder(context, player).setId("dispatchMediaButtonEvent").build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
@ -784,7 +836,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
session = new MediaSession.Builder(context, player).setId("dispatchMediaButtonEvent").build(); session = new MediaSession.Builder(context, player).setId("dispatchMediaButtonEvent").build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
@ -823,7 +877,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
@ -862,7 +918,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build())); .build()));
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.get().getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.get().getPlatformToken()),
/* waitForConnection= */ true);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
Bundle connectionHints = new Bundle(); Bundle connectionHints = new Bundle();
connectionHints.putBoolean(MediaController.KEY_MEDIA_NOTIFICATION_CONTROLLER_FLAG, true); connectionHints.putBoolean(MediaController.KEY_MEDIA_NOTIFICATION_CONTROLLER_FLAG, true);
@ -909,7 +967,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY); KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY);
session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
@ -940,7 +1000,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build())); .build()));
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.get().getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.get().getPlatformToken()),
/* waitForConnection= */ true);
session.get().getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.get().getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS);
@ -980,7 +1042,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.get(); .get();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.get().getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.get().getPlatformToken()),
/* waitForConnection= */ true);
session.get().getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent); session.get().getSessionCompat().getController().dispatchMediaButtonEvent(keyEvent);
@ -1004,7 +1068,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
@PlaybackStateCompat.ShuffleMode int testShuffleMode = PlaybackStateCompat.SHUFFLE_MODE_GROUP; @PlaybackStateCompat.ShuffleMode int testShuffleMode = PlaybackStateCompat.SHUFFLE_MODE_GROUP;
controller.getTransportControls().setShuffleMode(testShuffleMode); controller.getTransportControls().setShuffleMode(testShuffleMode);
@ -1022,7 +1088,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
int testRepeatMode = Player.REPEAT_MODE_ALL; int testRepeatMode = Player.REPEAT_MODE_ALL;
controller.getTransportControls().setRepeatMode(testRepeatMode); controller.getTransportControls().setRepeatMode(testRepeatMode);
@ -1040,7 +1108,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
MockPlayer remotePlayer = MockPlayer remotePlayer =
new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build();
remotePlayer.commands = remotePlayer.commands =
@ -1072,7 +1142,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
MockPlayer remotePlayer = MockPlayer remotePlayer =
new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build();
remotePlayer.commands = new Player.Commands.Builder().addAllCommands().build(); remotePlayer.commands = new Player.Commands.Builder().addAllCommands().build();
@ -1100,7 +1172,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
MockPlayer remotePlayer = MockPlayer remotePlayer =
new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build();
remotePlayer.commands = remotePlayer.commands =
@ -1129,7 +1203,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
MockPlayer remotePlayer = MockPlayer remotePlayer =
new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build();
handler.postAndSync( handler.postAndSync(
@ -1153,7 +1229,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
MockPlayer remotePlayer = MockPlayer remotePlayer =
new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build();
remotePlayer.commands = remotePlayer.commands =
@ -1182,7 +1260,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
MockPlayer remotePlayer = MockPlayer remotePlayer =
new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build();
remotePlayer.commands = new Player.Commands.Builder().addAllCommands().build(); remotePlayer.commands = new Player.Commands.Builder().addAllCommands().build();
@ -1212,7 +1292,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
// Here, we intentionally choose STREAM_ALARM in order not to consider // Here, we intentionally choose STREAM_ALARM in order not to consider
// 'Do Not Disturb' or 'Volume limit'. // 'Do Not Disturb' or 'Volume limit'.
@ -1262,7 +1344,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
// Here, we intentionally choose STREAM_ALARM in order not to consider // Here, we intentionally choose STREAM_ALARM in order not to consider
// 'Do Not Disturb' or 'Volume limit'. // 'Do Not Disturb' or 'Volume limit'.
@ -1345,7 +1429,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.sendCommand(testCommand, testArgs, /* cb= */ null); controller.sendCommand(testCommand, testArgs, /* cb= */ null);
@ -1397,7 +1483,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.sendCustomCommand(customCommand, testArgs); controller.sendCustomCommand(customCommand, testArgs);
@ -1422,7 +1510,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
// Session will not accept the controller's commands. // Session will not accept the controller's commands.
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().play(); controller.getTransportControls().play();
@ -1454,7 +1544,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().prepareFromUri(mediaUri, bundle); controller.getTransportControls().prepareFromUri(mediaUri, bundle);
@ -1490,7 +1582,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().playFromUri(request, bundle); controller.getTransportControls().playFromUri(request, bundle);
@ -1527,7 +1621,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().prepareFromMediaId(request, bundle); controller.getTransportControls().prepareFromMediaId(request, bundle);
@ -1571,7 +1667,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().prepareFromMediaId(request, bundle); controller.getTransportControls().prepareFromMediaId(request, bundle);
@ -1609,7 +1707,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().playFromMediaId(mediaId, bundle); controller.getTransportControls().playFromMediaId(mediaId, bundle);
@ -1652,7 +1752,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().playFromMediaId(mediaId, bundle); controller.getTransportControls().playFromMediaId(mediaId, bundle);
@ -1688,7 +1790,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().prepareFromSearch(query, bundle); controller.getTransportControls().prepareFromSearch(query, bundle);
@ -1724,7 +1828,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().playFromSearch(query, bundle); controller.getTransportControls().playFromSearch(query, bundle);
@ -1758,7 +1864,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().prepareFromUri(Uri.parse("foo://bar"), Bundle.EMPTY); controller.getTransportControls().prepareFromUri(Uri.parse("foo://bar"), Bundle.EMPTY);
@ -1788,7 +1896,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().playFromUri(Uri.parse("foo://bar"), Bundle.EMPTY); controller.getTransportControls().playFromUri(Uri.parse("foo://bar"), Bundle.EMPTY);
@ -1822,7 +1932,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().playFromUri(Uri.parse("foo://bar"), Bundle.EMPTY); controller.getTransportControls().playFromUri(Uri.parse("foo://bar"), Bundle.EMPTY);
@ -1863,7 +1975,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
new MediaSession.Builder(context, player).setId("setRating").setCallback(callback).build(); new MediaSession.Builder(context, player).setId("setRating").setCallback(callback).build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().setRating(rating); controller.getTransportControls().setRating(rating);
@ -1896,7 +2010,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
controller.getTransportControls().pause(); controller.getTransportControls().pause();
@ -1925,7 +2041,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
// This may hang if deadlock happens. // This may hang if deadlock happens.
handler.postAndSync( handler.postAndSync(
() -> { () -> {
@ -1960,7 +2078,9 @@ public class MediaSessionCallbackWithMediaControllerCompatTest {
.build(); .build();
controller = controller =
new RemoteMediaControllerCompat( new RemoteMediaControllerCompat(
context, session.getSessionCompatToken(), /* waitForConnection= */ true); context,
MediaSessionCompat.Token.fromToken(session.getPlatformToken()),
/* waitForConnection= */ true);
session.release(); session.release();
session = null; session = null;

View File

@ -27,6 +27,7 @@ import android.os.HandlerThread;
import android.os.Looper; import android.os.Looper;
import android.support.v4.media.MediaDescriptionCompat; import android.support.v4.media.MediaDescriptionCompat;
import android.support.v4.media.session.MediaControllerCompat; import android.support.v4.media.session.MediaControllerCompat;
import android.support.v4.media.session.MediaSessionCompat;
import androidx.media3.common.AudioAttributes; import androidx.media3.common.AudioAttributes;
import androidx.media3.common.C; import androidx.media3.common.C;
import androidx.media3.common.DeviceInfo; import androidx.media3.common.DeviceInfo;
@ -1083,7 +1084,8 @@ public class MediaSessionPlayerTest {
MediaSession session = new MediaSession.Builder(context, player).setId("test").build(); MediaSession session = new MediaSession.Builder(context, player).setId("test").build();
sessionReference.set(session); sessionReference.set(session);
MediaControllerCompat controller = MediaControllerCompat controller =
new MediaControllerCompat(context, session.getSessionCompatToken()); new MediaControllerCompat(
context, MediaSessionCompat.Token.fromToken(session.getPlatformToken()));
controller.getTransportControls().play(); controller.getTransportControls().play();
eventHandled.await(); eventHandled.await();
@ -1138,7 +1140,8 @@ public class MediaSessionPlayerTest {
.build(); .build();
sessionReference.set(session); sessionReference.set(session);
MediaControllerCompat controller = MediaControllerCompat controller =
new MediaControllerCompat(context, session.getSessionCompatToken()); new MediaControllerCompat(
context, MediaSessionCompat.Token.fromToken(session.getPlatformToken()));
controller.getTransportControls().playFromUri(Uri.parse("test://"), Bundle.EMPTY); controller.getTransportControls().playFromUri(Uri.parse("test://"), Bundle.EMPTY);
eventHandled.await(); eventHandled.await();
@ -1195,7 +1198,8 @@ public class MediaSessionPlayerTest {
MainLooperTestRule.runOnMainSync( MainLooperTestRule.runOnMainSync(
() -> { () -> {
MediaControllerCompat controller = MediaControllerCompat controller =
new MediaControllerCompat(context, session.getSessionCompatToken()); new MediaControllerCompat(
context, MediaSessionCompat.Token.fromToken(session.getPlatformToken()));
controller.addQueueItem(new MediaDescriptionCompat.Builder().setMediaId("id").build()); controller.addQueueItem(new MediaDescriptionCompat.Builder().setMediaId("id").build());
}); });
eventHandled.await(); eventHandled.await();

View File

@ -298,7 +298,8 @@ public class MediaSessionServiceTest {
TestServiceRegistry.getInstance().setOnGetSessionHandler(controllerInfo -> mediaSession); TestServiceRegistry.getInstance().setOnGetSessionHandler(controllerInfo -> mediaSession);
MediaControllerCompat mediaControllerCompat = MediaControllerCompat mediaControllerCompat =
new MediaControllerCompat( new MediaControllerCompat(
ApplicationProvider.getApplicationContext(), mediaSession.getSessionCompatToken()); ApplicationProvider.getApplicationContext(),
MediaSessionCompat.Token.fromToken(mediaSession.getPlatformToken()));
CountDownLatch controllerReady = new CountDownLatch(1); CountDownLatch controllerReady = new CountDownLatch(1);
mediaControllerCompat.registerCallback( mediaControllerCompat.registerCallback(
new MediaControllerCompat.Callback() { new MediaControllerCompat.Callback() {

View File

@ -40,8 +40,6 @@ import android.os.Bundle;
import android.os.HandlerThread; import android.os.HandlerThread;
import android.os.Looper; import android.os.Looper;
import android.os.SystemClock; import android.os.SystemClock;
import android.support.v4.media.session.MediaControllerCompat;
import android.support.v4.media.session.MediaSessionCompat;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.KeyEvent; import android.view.KeyEvent;
import androidx.media.MediaSessionManager; import androidx.media.MediaSessionManager;
@ -452,50 +450,6 @@ public class MediaSessionTest {
assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue();
} }
/** Test {@link MediaSession#getSessionCompatToken()}. */
@Test
public void getSessionCompatToken_returnsCompatibleWithMediaControllerCompat() throws Exception {
MediaSession session =
sessionTestRule.ensureReleaseAfterTest(
new MediaSession.Builder(context, player)
.setId("getSessionCompatToken_returnsCompatibleWithMediaControllerCompat")
.setCallback(
new MediaSession.Callback() {
@Override
public MediaSession.ConnectionResult onConnect(
MediaSession session, ControllerInfo controller) {
if (TextUtils.equals(
getControllerCallerPackageName(controller),
controller.getPackageName())) {
return MediaSession.Callback.super.onConnect(session, controller);
}
return MediaSession.ConnectionResult.reject();
}
})
.build());
Object token = session.getSessionCompatToken();
assertThat(token).isInstanceOf(MediaSessionCompat.Token.class);
MediaControllerCompat controllerCompat =
new MediaControllerCompat(context, (MediaSessionCompat.Token) token);
CountDownLatch sessionReadyLatch = new CountDownLatch(1);
controllerCompat.registerCallback(
new MediaControllerCompat.Callback() {
@Override
public void onSessionReady() {
sessionReadyLatch.countDown();
}
},
handler);
assertThat(sessionReadyLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue();
long testSeekPositionMs = 1234;
controllerCompat.getTransportControls().seekTo(testSeekPositionMs);
player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO, TIMEOUT_MS);
assertThat(player.seekPositionMs).isEqualTo(testSeekPositionMs);
}
/** Test {@link MediaSession#getSessionCompatToken()}. */
@Test @Test
public void getPlatformToken_returnsCompatibleWithPlatformMediaController() throws Exception { public void getPlatformToken_returnsCompatibleWithPlatformMediaController() throws Exception {
MediaSession session = MediaSession session =

View File

@ -24,6 +24,7 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.media.session.MediaControllerCompat; import android.support.v4.media.session.MediaControllerCompat;
import android.support.v4.media.session.MediaSessionCompat;
import androidx.media3.common.MediaItem; import androidx.media3.common.MediaItem;
import androidx.media3.common.Player; import androidx.media3.common.Player;
import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.HandlerThreadTestRule;
@ -87,7 +88,8 @@ public class MediaSessionWithMediaControllerCompatTest {
sessionTestRule.ensureReleaseAfterTest( sessionTestRule.ensureReleaseAfterTest(
new MediaSession.Builder(context, player).setId(TAG).setCallback(callback).build()); new MediaSession.Builder(context, player).setId(TAG).setCallback(callback).build());
RemoteMediaControllerCompat controllerCompat = RemoteMediaControllerCompat controllerCompat =
remoteControllerTestRule.createRemoteControllerCompat(session.getSessionCompatToken()); remoteControllerTestRule.createRemoteControllerCompat(
MediaSessionCompat.Token.fromToken(session.getPlatformToken()));
// Invoke any command for session to recognize the controller compat. // Invoke any command for session to recognize the controller compat.
controllerCompat.getTransportControls().prepare(); controllerCompat.getTransportControls().prepare();
@ -130,7 +132,8 @@ public class MediaSessionWithMediaControllerCompatTest {
.get(); .get();
RemoteMediaControllerCompat controllerCompat = RemoteMediaControllerCompat controllerCompat =
remoteControllerTestRule.createRemoteControllerCompat(session.getSessionCompatToken()); remoteControllerTestRule.createRemoteControllerCompat(
MediaSessionCompat.Token.fromToken(session.getPlatformToken()));
controllerCompat.transportControls.play(); controllerCompat.transportControls.play();
assertThat(connectedLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(connectedLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue();
@ -141,7 +144,8 @@ public class MediaSessionWithMediaControllerCompatTest {
SessionCommands.EMPTY, SessionCommands.EMPTY,
Player.Commands.EMPTY.buildUpon().add(Player.COMMAND_GET_TIMELINE).build()); Player.Commands.EMPTY.buildUpon().add(Player.COMMAND_GET_TIMELINE).build());
RemoteMediaControllerCompat controllerCompat2 = RemoteMediaControllerCompat controllerCompat2 =
remoteControllerTestRule.createRemoteControllerCompat(session.getSessionCompatToken()); remoteControllerTestRule.createRemoteControllerCompat(
MediaSessionCompat.Token.fromToken(session.getPlatformToken()));
controllerCompat2.transportControls.pause(); controllerCompat2.transportControls.pause();
assertThat(controllerCompat.getQueueSize()).isEqualTo(2); assertThat(controllerCompat.getQueueSize()).isEqualTo(2);

View File

@ -162,7 +162,8 @@ public class SessionTokenTest {
}); });
SessionToken token = SessionToken token =
SessionToken.createSessionToken(context, session.getSessionCompatToken()) SessionToken.createSessionToken(
context, MediaSessionCompat.Token.fromToken(session.getPlatformToken()))
.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); .get(TIMEOUT_MS, TimeUnit.MILLISECONDS);
assertThat(token.isLegacySession()).isFalse(); assertThat(token.isLegacySession()).isFalse();