Loading src/com/android/settings/media/MediaOutputIndicatorSlice.java +5 −2 Original line number Diff line number Diff line Loading @@ -120,14 +120,17 @@ public class MediaOutputIndicatorSlice implements CustomSliceable { return mWorker; } private boolean isVisible() { @VisibleForTesting boolean isVisible() { // To decide Slice's visibility. // Return true if // 1. AudioMode is not in on-going call // 2. worker is not null // 3. Available devices are more than 0 // 4. The local media session is active and the state is playing. return getWorker() != null && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext) && getWorker().getMediaDevices().size() > 0; && getWorker().getMediaDevices().size() > 0 && getWorker().getActiveLocalMediaController() != null; } } tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,8 @@ public class MediaOutputIndicatorSliceTest { public void getSlice_withConnectedDevice_verifyMetadata() { mDevices.add(mDevice1); when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices); doReturn(mMediaController).when(sMediaOutputIndicatorWorker) .getActiveLocalMediaController(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); mAudioManager.setMode(AudioManager.MODE_NORMAL); Loading Loading @@ -215,6 +217,30 @@ public class MediaOutputIndicatorSliceTest { 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) public static class ShadowSliceBackgroundWorker { Loading Loading
src/com/android/settings/media/MediaOutputIndicatorSlice.java +5 −2 Original line number Diff line number Diff line Loading @@ -120,14 +120,17 @@ public class MediaOutputIndicatorSlice implements CustomSliceable { return mWorker; } private boolean isVisible() { @VisibleForTesting boolean isVisible() { // To decide Slice's visibility. // Return true if // 1. AudioMode is not in on-going call // 2. worker is not null // 3. Available devices are more than 0 // 4. The local media session is active and the state is playing. return getWorker() != null && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext) && getWorker().getMediaDevices().size() > 0; && getWorker().getMediaDevices().size() > 0 && getWorker().getActiveLocalMediaController() != null; } }
tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java +26 −0 Original line number Diff line number Diff line Loading @@ -120,6 +120,8 @@ public class MediaOutputIndicatorSliceTest { public void getSlice_withConnectedDevice_verifyMetadata() { mDevices.add(mDevice1); when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices); doReturn(mMediaController).when(sMediaOutputIndicatorWorker) .getActiveLocalMediaController(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); mAudioManager.setMode(AudioManager.MODE_NORMAL); Loading Loading @@ -215,6 +217,30 @@ public class MediaOutputIndicatorSliceTest { 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) public static class ShadowSliceBackgroundWorker { Loading