Transferring to a cast device should not close the output switcher
-Close panel only when on pause and stop -Transfer device would set the play state to "STATE_NONE" -Add test case Bug: 152632226 Test: make -j42 RunSettingsRoboTests Change-Id: Ibf6ce1454b1d5bf3facc07abec15b8735029f2cf
This commit is contained in:
@@ -259,7 +259,9 @@ public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceC
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlaybackStateChanged(PlaybackState state) {
|
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();
|
mCallback.forceClose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -295,4 +295,19 @@ public class MediaOutputPanelTest {
|
|||||||
|
|
||||||
verify(mCallback).forceClose();
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user