De-flake MediaSessionCompatCallbackWithMediaControllerTest.onStop test

The `controller.prepare()` call can trigger the callback `onPrepare()`, however, this will count down the latch by one before the callback `onStop()` is triggered.

PiperOrigin-RevId: 560988209
This commit is contained in:
tianyifeng 2023-08-29 04:25:57 -07:00 committed by Copybara-Service
parent 667103f2bd
commit 5a6b88d751

View file

@ -73,9 +73,6 @@ public class MediaSessionCompatCallbackWithMediaControllerTest {
// The maximum time to wait for an operation. // The maximum time to wait for an operation.
private static final long TIMEOUT_MS = 3000L; private static final long TIMEOUT_MS = 3000L;
// Timeout used where the test expects no operation.
private static final long NOOP_TIMEOUT_MS = 500L;
@ClassRule public static MainLooperTestRule mainLooperTestRule = new MainLooperTestRule(); @ClassRule public static MainLooperTestRule mainLooperTestRule = new MainLooperTestRule();
@Rule public final HandlerThreadTestRule threadTestRule = new HandlerThreadTestRule(TAG); @Rule public final HandlerThreadTestRule threadTestRule = new HandlerThreadTestRule(TAG);
@ -171,13 +168,14 @@ public class MediaSessionCompatCallbackWithMediaControllerTest {
session.setQueue(testQueue); session.setQueue(testQueue);
session.setFlags(FLAG_HANDLES_QUEUE_COMMANDS); session.setFlags(FLAG_HANDLES_QUEUE_COMMANDS);
RemoteMediaController controller = createControllerAndWaitConnection(); RemoteMediaController controller = createControllerAndWaitConnection();
controller.prepare(); sessionCallback.reset(/* count= */ 2);
sessionCallback.reset(1);
controller.prepare();
controller.stop(); controller.stop();
assertThat(sessionCallback.await(TIMEOUT_MS)).isTrue(); assertThat(sessionCallback.await(TIMEOUT_MS)).isTrue();
assertThat(sessionCallback.onStopCalled).isEqualTo(true); assertThat(sessionCallback.onPrepareCalled).isTrue();
assertThat(sessionCallback.onStopCalled).isTrue();
} }
@Test @Test
@ -188,7 +186,7 @@ public class MediaSessionCompatCallbackWithMediaControllerTest {
controller.seekToDefaultPosition(); controller.seekToDefaultPosition();
assertThat(sessionCallback.await(TIMEOUT_MS)).isTrue(); assertThat(sessionCallback.await(TIMEOUT_MS)).isTrue();
assertThat(sessionCallback.onSeekToCalled).isTrue(); assertThat(sessionCallback.onSeekToCalled).isTrue();
assertThat(sessionCallback.seekPosition).isEqualTo(/* pos= */ 0); assertThat(sessionCallback.seekPosition).isEqualTo(0);
} }
@Test @Test
@ -208,7 +206,7 @@ public class MediaSessionCompatCallbackWithMediaControllerTest {
assertThat(sessionCallback.queueItemId) assertThat(sessionCallback.queueItemId)
.isEqualTo(testQueue.get(testMediaItemIndex).getQueueId()); .isEqualTo(testQueue.get(testMediaItemIndex).getQueueId());
assertThat(sessionCallback.onSeekToCalled).isTrue(); assertThat(sessionCallback.onSeekToCalled).isTrue();
assertThat(sessionCallback.seekPosition).isEqualTo(/* pos= */ 0); assertThat(sessionCallback.seekPosition).isEqualTo(0);
} }
@Test @Test