Merge "Transferring to a cast device should not close the output switcher" into rvc-dev am: f1f7b861d9

Change-Id: I5cd836d2390ad92e2c7a1afb7973186327bfc98b
This commit is contained in:
tim peng
2020-04-08 03:36:04 +00:00
committed by Automerger Merge Worker
2 changed files with 18 additions and 1 deletions

View File

@@ -259,7 +259,9 @@ public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceC
@Override
public void onPlaybackStateChanged(PlaybackState state) {
if (mCallback != null && state.getState() != PlaybackState.STATE_PLAYING) {
final int playState = state.getState();
if (mCallback != null && (playState == PlaybackState.STATE_STOPPED
|| playState == PlaybackState.STATE_PAUSED)) {
mCallback.forceClose();
}
}

View File

@@ -295,4 +295,19 @@ public class MediaOutputPanelTest {
verify(mCallback).forceClose();
}
@Test
public void onPlaybackStateChanged_stateFromPlayingToPaused_verifyCallForceClose() {
mPanel.onStart();
verify(mMediaController).registerCallback(mControllerCbs.capture());
final MediaController.Callback controllerCallbacks = mControllerCbs.getValue();
when(mPlaybackState.getState()).thenReturn(PlaybackState.STATE_PLAYING);
controllerCallbacks.onPlaybackStateChanged(mPlaybackState);
verify(mCallback, never()).forceClose();
when(mPlaybackState.getState()).thenReturn(PlaybackState.STATE_PAUSED);
controllerCallbacks.onPlaybackStateChanged(mPlaybackState);
verify(mCallback).forceClose();
}
}