Loading packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacyTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -368,6 +368,37 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase { assertThat(mViewHolder.mSeekBar.getVolume()).isEqualTo(TEST_CURRENT_VOLUME); } @Test public void onBindViewHolder_initSeekbarWithUnmutedVolume_displaysMuteIcon() { when(mMediaSwitchingController.isVolumeControlEnabled(mMediaDevice1)).thenReturn(true); when(mMediaDevice1.getMaxVolume()).thenReturn(TEST_MAX_VOLUME); when(mMediaDevice1.getCurrentVolume()).thenReturn(TEST_CURRENT_VOLUME); mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0); assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mIconAreaLayout.getVisibility()).isEqualTo(View.VISIBLE); mViewHolder.mIconAreaLayout.performClick(); verify(mMediaSwitchingController).adjustVolume(mMediaDevice1, 0); verify(mMediaSwitchingController).logInteractionMuteDevice(mMediaDevice1); } @Test public void onBindViewHolder_initSeekbarWithMutedVolume_displaysUnmuteIcon() { when(mMediaSwitchingController.isVolumeControlEnabled(mMediaDevice1)).thenReturn(true); when(mMediaDevice1.getMaxVolume()).thenReturn(TEST_MAX_VOLUME); when(mMediaDevice1.getCurrentVolume()).thenReturn(0); // muted. mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0); assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mIconAreaLayout.getVisibility()).isEqualTo(View.VISIBLE); mViewHolder.mIconAreaLayout.performClick(); // Default unmute volume is 2. verify(mMediaSwitchingController).adjustVolume(mMediaDevice1, 2); verify(mMediaSwitchingController).logInteractionUnmuteDevice(mMediaDevice1); } @Test public void onBindViewHolder_dragSeekbar_setsVolume() { mOnSeekBarChangeListenerCaptor = ArgumentCaptor.forClass( Loading packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacy.java +14 −1 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { mSubTitleText.setTextColor(mController.getColorItemContent()); mVolumeValueText.setTextColor(mController.getColorItemContent()); mIconAreaLayout.setBackground(null); updateIconAreaClickListener(null); mSeekBar.setProgressTintList( ColorStateList.valueOf(mController.getColorSeekbarProgress())); enableFocusPropertyForView(mContainerLayout); Loading Loading @@ -392,6 +393,11 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { @Override public void onMute() { mController.logInteractionMuteDevice(device); } @Override public void onUnmute() { mController.logInteractionUnmuteDevice(device); } }; Loading Loading @@ -430,6 +436,9 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { @Override public void onMute() {} @Override public void onUnmute() {} }; if (!mController.isVolumeControlEnabledForSession()) { Loading Loading @@ -622,11 +631,13 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { private void updateFullItemClickListener(@Nullable View.OnClickListener listener) { mContainerLayout.setOnClickListener(listener); updateIconAreaClickListener(listener); } void updateIconAreaClickListener(@Nullable View.OnClickListener listener) { mIconAreaLayout.setOnClickListener(listener); if (listener == null) { mIconAreaLayout.setClickable(false); // clickable is not removed automatically. } } private void initAnimator() { Loading Loading @@ -677,6 +688,7 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { mSeekBar.setOnTouchListener((v, event) -> false); updateIconAreaClickListener((v) -> { if (volumeControl.getVolume() == 0) { volumeControl.onUnmute(); mSeekBar.setVolume(UNMUTE_DEFAULT_VOLUME); volumeControl.setVolume(UNMUTE_DEFAULT_VOLUME); updateUnmutedVolumeIcon(null); Loading Loading @@ -713,6 +725,7 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { int getVolume(); void setVolume(int volume); void onMute(); void onUnmute(); } private abstract class MediaSeekBarChangedListener Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacyTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -368,6 +368,37 @@ public class MediaOutputAdapterLegacyTest extends SysuiTestCase { assertThat(mViewHolder.mSeekBar.getVolume()).isEqualTo(TEST_CURRENT_VOLUME); } @Test public void onBindViewHolder_initSeekbarWithUnmutedVolume_displaysMuteIcon() { when(mMediaSwitchingController.isVolumeControlEnabled(mMediaDevice1)).thenReturn(true); when(mMediaDevice1.getMaxVolume()).thenReturn(TEST_MAX_VOLUME); when(mMediaDevice1.getCurrentVolume()).thenReturn(TEST_CURRENT_VOLUME); mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0); assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mIconAreaLayout.getVisibility()).isEqualTo(View.VISIBLE); mViewHolder.mIconAreaLayout.performClick(); verify(mMediaSwitchingController).adjustVolume(mMediaDevice1, 0); verify(mMediaSwitchingController).logInteractionMuteDevice(mMediaDevice1); } @Test public void onBindViewHolder_initSeekbarWithMutedVolume_displaysUnmuteIcon() { when(mMediaSwitchingController.isVolumeControlEnabled(mMediaDevice1)).thenReturn(true); when(mMediaDevice1.getMaxVolume()).thenReturn(TEST_MAX_VOLUME); when(mMediaDevice1.getCurrentVolume()).thenReturn(0); // muted. mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0); assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mIconAreaLayout.getVisibility()).isEqualTo(View.VISIBLE); mViewHolder.mIconAreaLayout.performClick(); // Default unmute volume is 2. verify(mMediaSwitchingController).adjustVolume(mMediaDevice1, 2); verify(mMediaSwitchingController).logInteractionUnmuteDevice(mMediaDevice1); } @Test public void onBindViewHolder_dragSeekbar_setsVolume() { mOnSeekBarChangeListenerCaptor = ArgumentCaptor.forClass( Loading
packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacy.java +14 −1 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { mSubTitleText.setTextColor(mController.getColorItemContent()); mVolumeValueText.setTextColor(mController.getColorItemContent()); mIconAreaLayout.setBackground(null); updateIconAreaClickListener(null); mSeekBar.setProgressTintList( ColorStateList.valueOf(mController.getColorSeekbarProgress())); enableFocusPropertyForView(mContainerLayout); Loading Loading @@ -392,6 +393,11 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { @Override public void onMute() { mController.logInteractionMuteDevice(device); } @Override public void onUnmute() { mController.logInteractionUnmuteDevice(device); } }; Loading Loading @@ -430,6 +436,9 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { @Override public void onMute() {} @Override public void onUnmute() {} }; if (!mController.isVolumeControlEnabledForSession()) { Loading Loading @@ -622,11 +631,13 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { private void updateFullItemClickListener(@Nullable View.OnClickListener listener) { mContainerLayout.setOnClickListener(listener); updateIconAreaClickListener(listener); } void updateIconAreaClickListener(@Nullable View.OnClickListener listener) { mIconAreaLayout.setOnClickListener(listener); if (listener == null) { mIconAreaLayout.setClickable(false); // clickable is not removed automatically. } } private void initAnimator() { Loading Loading @@ -677,6 +688,7 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { mSeekBar.setOnTouchListener((v, event) -> false); updateIconAreaClickListener((v) -> { if (volumeControl.getVolume() == 0) { volumeControl.onUnmute(); mSeekBar.setVolume(UNMUTE_DEFAULT_VOLUME); volumeControl.setVolume(UNMUTE_DEFAULT_VOLUME); updateUnmutedVolumeIcon(null); Loading Loading @@ -713,6 +725,7 @@ public class MediaOutputAdapterLegacy extends MediaOutputAdapterBase { int getVolume(); void setVolume(int volume); void onMute(); void onUnmute(); } private abstract class MediaSeekBarChangedListener Loading