mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Remove flakiness from MCCPlaybackStateCompatActionsWithMediaSessionTest
The tests were reigstering a listener to wait for the first event, but this first even may have happened already by the time the listener is registered. Instead we can wait until the controller is connected and assume that the initial state already arrived. PiperOrigin-RevId: 627683245
This commit is contained in:
parent
f9ea4f0444
commit
43d1fa933c
@ -85,8 +85,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaSession mediaSession = createMediaSession(player);
|
MediaSession mediaSession = createMediaSession(player);
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
long actions =
|
long actions = controllerCompat.getPlaybackState().getActions();
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions();
|
|
||||||
|
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_PAUSE).isNotEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_PAUSE).isNotEqualTo(0);
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY).isNotEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY).isNotEqualTo(0);
|
||||||
@ -123,8 +122,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaSession mediaSession = createMediaSession(player);
|
MediaSession mediaSession = createMediaSession(player);
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
long actions =
|
long actions = controllerCompat.getPlaybackState().getActions();
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions();
|
|
||||||
|
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_PAUSE).isEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_PAUSE).isEqualTo(0);
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY).isEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY).isEqualTo(0);
|
||||||
@ -169,8 +167,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions() & PlaybackStateCompat.ACTION_PREPARE)
|
||||||
& PlaybackStateCompat.ACTION_PREPARE)
|
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
CountDownLatch latch = new CountDownLatch(1);
|
CountDownLatch latch = new CountDownLatch(1);
|
||||||
@ -201,8 +198,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions() & PlaybackStateCompat.ACTION_PREPARE)
|
||||||
& PlaybackStateCompat.ACTION_PREPARE)
|
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
AtomicInteger playbackStateChanges = new AtomicInteger();
|
AtomicInteger playbackStateChanges = new AtomicInteger();
|
||||||
@ -247,9 +243,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaSession mediaSession = createMediaSession(player);
|
MediaSession mediaSession = createMediaSession(player);
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(controllerCompat.getPlaybackState().getActions() & PlaybackStateCompat.ACTION_REWIND)
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
|
||||||
& PlaybackStateCompat.ACTION_REWIND)
|
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
AtomicInteger discontinuityReason = new AtomicInteger(-1);
|
AtomicInteger discontinuityReason = new AtomicInteger(-1);
|
||||||
@ -291,9 +285,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaSession mediaSession = createMediaSession(player);
|
MediaSession mediaSession = createMediaSession(player);
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(controllerCompat.getPlaybackState().getActions() & PlaybackStateCompat.ACTION_REWIND)
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
|
||||||
& PlaybackStateCompat.ACTION_REWIND)
|
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
AtomicBoolean receivedOnPositionDiscontinuity = new AtomicBoolean();
|
AtomicBoolean receivedOnPositionDiscontinuity = new AtomicBoolean();
|
||||||
@ -341,7 +333,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_FAST_FORWARD)
|
& PlaybackStateCompat.ACTION_FAST_FORWARD)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -383,7 +375,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_FAST_FORWARD)
|
& PlaybackStateCompat.ACTION_FAST_FORWARD)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
@ -432,8 +424,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions() & PlaybackStateCompat.ACTION_SEEK_TO)
|
||||||
& PlaybackStateCompat.ACTION_SEEK_TO)
|
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
AtomicInteger discontinuityReason = new AtomicInteger(-1);
|
AtomicInteger discontinuityReason = new AtomicInteger(-1);
|
||||||
@ -475,8 +466,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions() & PlaybackStateCompat.ACTION_SEEK_TO)
|
||||||
& PlaybackStateCompat.ACTION_SEEK_TO)
|
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
AtomicBoolean receiovedOnPositionDiscontinuity = new AtomicBoolean();
|
AtomicBoolean receiovedOnPositionDiscontinuity = new AtomicBoolean();
|
||||||
@ -526,7 +516,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM)
|
& PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -570,7 +560,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM)
|
& PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
@ -626,7 +616,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_NEXT)
|
& PlaybackStateCompat.ACTION_SKIP_TO_NEXT)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -676,7 +666,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_NEXT)
|
& PlaybackStateCompat.ACTION_SKIP_TO_NEXT)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -724,7 +714,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_NEXT)
|
& PlaybackStateCompat.ACTION_SKIP_TO_NEXT)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
@ -782,7 +772,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
|
& PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -834,7 +824,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
|
& PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -884,7 +874,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
|
& PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
@ -936,8 +926,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
});
|
});
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
long actions =
|
long actions = controllerCompat.getPlaybackState().getActions();
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions();
|
|
||||||
|
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID).isNotEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID).isNotEqualTo(0);
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH).isNotEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH).isNotEqualTo(0);
|
||||||
@ -1009,8 +998,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
});
|
});
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
long actions =
|
long actions = controllerCompat.getPlaybackState().getActions();
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions();
|
|
||||||
|
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID).isEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID).isEqualTo(0);
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH).isEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH).isEqualTo(0);
|
||||||
@ -1061,7 +1049,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SET_REPEAT_MODE)
|
& PlaybackStateCompat.ACTION_SET_REPEAT_MODE)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -1092,7 +1080,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SET_REPEAT_MODE)
|
& PlaybackStateCompat.ACTION_SET_REPEAT_MODE)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
@ -1132,7 +1120,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED)
|
& PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -1166,7 +1154,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
assertThat(
|
assertThat(
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions()
|
controllerCompat.getPlaybackState().getActions()
|
||||||
& PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED)
|
& PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
|
|
||||||
@ -1204,8 +1192,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaSession mediaSession = createMediaSession(player);
|
MediaSession mediaSession = createMediaSession(player);
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
long actions =
|
long actions = controllerCompat.getPlaybackState().getActions();
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions();
|
|
||||||
|
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE).isNotEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE).isNotEqualTo(0);
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE_ENABLED).isNotEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE_ENABLED).isNotEqualTo(0);
|
||||||
@ -1239,8 +1226,7 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
MediaSession mediaSession = createMediaSession(player);
|
MediaSession mediaSession = createMediaSession(player);
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
long actions =
|
long actions = controllerCompat.getPlaybackState().getActions();
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler()).getActions();
|
|
||||||
|
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE).isEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE).isEqualTo(0);
|
||||||
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE_ENABLED).isEqualTo(0);
|
assertThat(actions & PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE_ENABLED).isEqualTo(0);
|
||||||
@ -1291,8 +1277,6 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
});
|
});
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
// Wait until a playback state is sent to the controller.
|
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler());
|
|
||||||
assertThat(controllerCompat.getFlags() & MediaSessionCompat.FLAG_HANDLES_QUEUE_COMMANDS)
|
assertThat(controllerCompat.getFlags() & MediaSessionCompat.FLAG_HANDLES_QUEUE_COMMANDS)
|
||||||
.isNotEqualTo(0);
|
.isNotEqualTo(0);
|
||||||
|
|
||||||
@ -1348,8 +1332,6 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
});
|
});
|
||||||
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
MediaControllerCompat controllerCompat = createMediaControllerCompat(mediaSession);
|
||||||
|
|
||||||
// Wait until a playback state is sent to the controller.
|
|
||||||
getFirstPlaybackState(controllerCompat, threadTestRule.getHandler());
|
|
||||||
assertThat(controllerCompat.getFlags() & MediaSessionCompat.FLAG_HANDLES_QUEUE_COMMANDS)
|
assertThat(controllerCompat.getFlags() & MediaSessionCompat.FLAG_HANDLES_QUEUE_COMMANDS)
|
||||||
.isEqualTo(0);
|
.isEqualTo(0);
|
||||||
assertThrows(
|
assertThrows(
|
||||||
@ -1658,22 +1640,6 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
assertThat(connectionLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue();
|
assertThat(connectionLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
private PlaybackStateCompat getFirstPlaybackState(
|
|
||||||
MediaControllerCompat mediaControllerCompat, Handler handler) throws InterruptedException {
|
|
||||||
LinkedBlockingDeque<PlaybackStateCompat> playbackStateCompats = new LinkedBlockingDeque<>();
|
|
||||||
MediaControllerCompat.Callback callback =
|
|
||||||
new MediaControllerCompat.Callback() {
|
|
||||||
@Override
|
|
||||||
public void onPlaybackStateChanged(PlaybackStateCompat state) {
|
|
||||||
playbackStateCompats.add(state);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
mediaControllerCompat.registerCallback(callback, handler);
|
|
||||||
PlaybackStateCompat playbackStateCompat = playbackStateCompats.take();
|
|
||||||
mediaControllerCompat.unregisterCallback(callback);
|
|
||||||
return playbackStateCompat;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a default {@link ExoPlayer} instance on the main thread. Use {@link
|
* Creates a default {@link ExoPlayer} instance on the main thread. Use {@link
|
||||||
* #releasePlayer(Player)} to release the returned instance on the main thread.
|
* #releasePlayer(Player)} to release the returned instance on the main thread.
|
||||||
@ -1719,9 +1685,22 @@ public class MediaControllerCompatPlaybackStateCompatActionsWithMediaSessionTest
|
|||||||
return session.build();
|
return session.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static MediaControllerCompat createMediaControllerCompat(MediaSession mediaSession) {
|
private static MediaControllerCompat createMediaControllerCompat(MediaSession mediaSession)
|
||||||
return new MediaControllerCompat(
|
throws Exception {
|
||||||
ApplicationProvider.getApplicationContext(), mediaSession.getSessionCompatToken());
|
MediaControllerCompat controllerCompat =
|
||||||
|
new MediaControllerCompat(
|
||||||
|
ApplicationProvider.getApplicationContext(), mediaSession.getSessionCompatToken());
|
||||||
|
CountDownLatch controllerReady = new CountDownLatch(1);
|
||||||
|
controllerCompat.registerCallback(
|
||||||
|
new MediaControllerCompat.Callback() {
|
||||||
|
@Override
|
||||||
|
public void onSessionReady() {
|
||||||
|
controllerReady.countDown();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Handler(Looper.getMainLooper()));
|
||||||
|
controllerReady.await();
|
||||||
|
return controllerCompat;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Releases the {@code player} on the main thread. */
|
/** Releases the {@code player} on the main thread. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user