Merge "Fix output switcher will show 2 media session in some use cases"

This commit is contained in:
TreeHugger Robot
2020-10-19 04:12:50 +00:00
committed by Android (Google) Code Review
2 changed files with 36 additions and 1 deletions

View File

@@ -115,6 +115,33 @@ public class MediaOutputUtilsTest {
@Test
public void getActiveLocalMediaController_bothHaveRemoteMediaAndLocalMedia_returnNull() {
mMediaControllers.clear();
final MediaController.PlaybackInfo playbackInfo = new MediaController.PlaybackInfo(
MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
100,
10,
new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
null);
final PlaybackState playbackState = new PlaybackState.Builder()
.setState(PlaybackState.STATE_PLAYING, 0, 1)
.build();
final MediaController remoteMediaController = mock(MediaController.class);
mMediaControllers.add(remoteMediaController);
mMediaControllers.add(mMediaController);
initPlayback();
when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
when(remoteMediaController.getPlaybackInfo()).thenReturn(playbackInfo);
when(remoteMediaController.getPlaybackState()).thenReturn(playbackState);
assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
}
@Test
public void getActiveLocalMediaController_bothHaveLocalMediaAndRemoteMedia_returnNull() {
final MediaController.PlaybackInfo playbackInfo = new MediaController.PlaybackInfo(
MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
VolumeProvider.VOLUME_CONTROL_ABSOLUTE,