Merge "Hide the "play media to" option" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-04-27 09:55:56 +00:00
committed by Android (Google) Code Review
2 changed files with 31 additions and 2 deletions

View File

@@ -120,14 +120,17 @@ public class MediaOutputIndicatorSlice implements CustomSliceable {
return mWorker; return mWorker;
} }
private boolean isVisible() { @VisibleForTesting
boolean isVisible() {
// To decide Slice's visibility. // To decide Slice's visibility.
// Return true if // Return true if
// 1. AudioMode is not in on-going call // 1. AudioMode is not in on-going call
// 2. worker is not null // 2. worker is not null
// 3. Available devices are more than 0 // 3. Available devices are more than 0
// 4. The local media session is active and the state is playing.
return getWorker() != null return getWorker() != null
&& !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext) && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
&& getWorker().getMediaDevices().size() > 0; && getWorker().getMediaDevices().size() > 0
&& getWorker().getActiveLocalMediaController() != null;
} }
} }

View File

@@ -120,6 +120,8 @@ public class MediaOutputIndicatorSliceTest {
public void getSlice_withConnectedDevice_verifyMetadata() { public void getSlice_withConnectedDevice_verifyMetadata() {
mDevices.add(mDevice1); mDevices.add(mDevice1);
when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices); when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
.getActiveLocalMediaController();
doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
mAudioManager.setMode(AudioManager.MODE_NORMAL); mAudioManager.setMode(AudioManager.MODE_NORMAL);
@@ -215,6 +217,30 @@ public class MediaOutputIndicatorSliceTest {
MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN) == null).isTrue(); MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN) == null).isTrue();
} }
@Test
public void isVisible_allConditionMatched_returnTrue() {
mAudioManager.setMode(AudioManager.MODE_NORMAL);
mDevices.add(mDevice1);
when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
.getActiveLocalMediaController();
assertThat(mMediaOutputIndicatorSlice.isVisible()).isTrue();
}
@Test
public void isVisible_noActiveSession_returnFalse() {
mAudioManager.setMode(AudioManager.MODE_NORMAL);
mDevices.add(mDevice1);
when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
doReturn(null).when(sMediaOutputIndicatorWorker)
.getActiveLocalMediaController();
assertThat(mMediaOutputIndicatorSlice.isVisible()).isFalse();
}
@Implements(SliceBackgroundWorker.class) @Implements(SliceBackgroundWorker.class)
public static class ShadowSliceBackgroundWorker { public static class ShadowSliceBackgroundWorker {