mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
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:
parent
a645f704b8
commit
e43720b83a
@ -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.
|
||||||
|
@ -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() {
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
@ -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() {
|
||||||
|
@ -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 =
|
||||||
|
@ -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);
|
||||||
|
@ -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();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user