diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java | 56 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java | 93 |
2 files changed, 14 insertions, 135 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index f37a9b5842a7..7456d349a933 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -928,7 +928,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, showRingerDrawer(); } }); - updateSelectedRingerContainerDescription(mIsRingerDrawerOpen); mRingerDrawerVibrate.setOnClickListener( new RingerDrawerItemClickListener(RINGER_MODE_VIBRATE)); @@ -991,19 +990,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, : 0; } - @VisibleForTesting String getSelectedRingerContainerDescription() { - return mSelectedRingerContainer == null ? null : - mSelectedRingerContainer.getContentDescription().toString(); - } - - @VisibleForTesting void toggleRingerDrawer(boolean show) { - if (show) { - showRingerDrawer(); - } else { - hideRingerDrawer(); - } - } - /** Animates in the ringer drawer. */ private void showRingerDrawer() { if (mIsRingerDrawerOpen) { @@ -1081,7 +1067,12 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, .start(); } - updateSelectedRingerContainerDescription(true); + // When the ringer drawer is open, tapping the currently selected ringer will set the ringer + // to the current ringer mode. Change the content description to that, instead of the 'tap + // to change ringer mode' default. + mSelectedRingerContainer.setContentDescription( + mContext.getString(getStringDescriptionResourceForRingerMode( + mState.ringerModeInternal))); mIsRingerDrawerOpen = true; } @@ -1127,38 +1118,14 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, .translationY(0f) .start(); - updateSelectedRingerContainerDescription(false); + // When the drawer is closed, tapping the selected ringer drawer will open it, allowing the + // user to change the ringer. + mSelectedRingerContainer.setContentDescription( + mContext.getString(R.string.volume_ringer_change)); mIsRingerDrawerOpen = false; } - - /** - * @param open false to set the description when drawer is closed - */ - private void updateSelectedRingerContainerDescription(boolean open) { - if (mState == null || mSelectedRingerContainer == null) return; - - String currentMode = mContext.getString(getStringDescriptionResourceForRingerMode( - mState.ringerModeInternal)); - String tapToSelect; - - if (open) { - // When the ringer drawer is open, tapping the currently selected ringer will set the - // ringer to the current ringer mode. Change the content description to that, instead of - // the 'tap to change ringer mode' default. - tapToSelect = ""; - - } else { - // When the drawer is closed, tapping the selected ringer drawer will open it, allowing - // the user to change the ringer. The user needs to know that, and also the current mode - currentMode += ", "; - tapToSelect = mContext.getString(R.string.volume_ringer_change); - } - - mSelectedRingerContainer.setContentDescription(currentMode + tapToSelect); - } - private void initSettingsH(int lockTaskModeState) { if (mSettingsView != null) { mSettingsView.setVisibility( @@ -1734,7 +1701,7 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, }); } - @VisibleForTesting int getStringDescriptionResourceForRingerMode(int mode) { + private int getStringDescriptionResourceForRingerMode(int mode) { switch (mode) { case RINGER_MODE_SILENT: return R.string.volume_ringer_status_silent; @@ -1816,7 +1783,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, updateVolumeRowH(row); } updateRingerH(); - updateSelectedRingerContainerDescription(mIsRingerDrawerOpen); mWindow.setTitle(composeWindowTitle()); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java index ef3a33248597..8f725bebfb16 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java @@ -16,19 +16,13 @@ package com.android.systemui.volume; -import static android.media.AudioManager.RINGER_MODE_NORMAL; -import static android.media.AudioManager.RINGER_MODE_SILENT; -import static android.media.AudioManager.RINGER_MODE_VIBRATE; - import static com.android.systemui.volume.Events.DISMISS_REASON_UNKNOWN; import static com.android.systemui.volume.Events.SHOW_REASON_UNKNOWN; import static com.android.systemui.volume.VolumeDialogControllerImpl.STREAMS; import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertNotSame; import static junit.framework.Assert.assertTrue; -import static org.junit.Assume.assumeNotNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -299,7 +293,7 @@ public class VolumeDialogImplTest extends SysuiTestCase { @Test public void testSelectVibrateFromDrawer() { final State initialUnsetState = new State(); - initialUnsetState.ringerModeInternal = RINGER_MODE_NORMAL; + initialUnsetState.ringerModeInternal = AudioManager.RINGER_MODE_NORMAL; mDialog.onStateChangedH(initialUnsetState); mActiveRinger.performClick(); @@ -313,7 +307,7 @@ public class VolumeDialogImplTest extends SysuiTestCase { @Test public void testSelectMuteFromDrawer() { final State initialUnsetState = new State(); - initialUnsetState.ringerModeInternal = RINGER_MODE_NORMAL; + initialUnsetState.ringerModeInternal = AudioManager.RINGER_MODE_NORMAL; mDialog.onStateChangedH(initialUnsetState); mActiveRinger.performClick(); @@ -335,7 +329,7 @@ public class VolumeDialogImplTest extends SysuiTestCase { // Make sure we've actually changed the ringer mode. verify(mVolumeDialogController, times(1)).setRingerMode( - RINGER_MODE_NORMAL, false); + AudioManager.RINGER_MODE_NORMAL, false); } /** @@ -517,87 +511,6 @@ public class VolumeDialogImplTest extends SysuiTestCase { } } - private enum RingerDrawerState {INIT, OPEN, CLOSE} - - @Test - public void ringerModeNormal_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_NORMAL, RingerDrawerState.INIT); - } - - @Test - public void ringerModeSilent_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_SILENT, RingerDrawerState.INIT); - } - - @Test - public void ringerModeVibrate_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_VIBRATE, RingerDrawerState.INIT); - } - - @Test - public void ringerModeNormal_openDrawer_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_NORMAL, RingerDrawerState.OPEN); - } - - @Test - public void ringerModeSilent_openDrawer_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_SILENT, RingerDrawerState.OPEN); - } - - @Test - public void ringerModeVibrate_openDrawer_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_VIBRATE, RingerDrawerState.OPEN); - } - - @Test - public void ringerModeNormal_closeDrawer_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_NORMAL, RingerDrawerState.CLOSE); - } - - @Test - public void ringerModeSilent_closeDrawer_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_SILENT, RingerDrawerState.CLOSE); - } - - @Test - public void ringerModeVibrate_closeDrawer_ringerContainerDescribesItsState() { - assertRingerContainerDescribesItsState(RINGER_MODE_VIBRATE, RingerDrawerState.CLOSE); - } - - /** - * The content description should include ringer state, and the correct one. - */ - private void assertRingerContainerDescribesItsState(int ringerMode, - RingerDrawerState drawerState) { - State state = createShellState(); - state.ringerModeInternal = ringerMode; - mDialog.onStateChangedH(state); - - mDialog.show(SHOW_REASON_UNKNOWN); - - if (drawerState != RingerDrawerState.INIT) { - // in both cases we first open the drawer - mDialog.toggleRingerDrawer(true); - - if (drawerState == RingerDrawerState.CLOSE) { - mDialog.toggleRingerDrawer(false); - } - } - - String ringerContainerDescription = mDialog.getSelectedRingerContainerDescription(); - assumeNotNull(ringerContainerDescription); - - String ringerDescription = mContext.getString( - mDialog.getStringDescriptionResourceForRingerMode(ringerMode)); - - if (drawerState == RingerDrawerState.OPEN) { - assertEquals(ringerDescription, ringerContainerDescription); - } else { - assertNotSame(ringerDescription, ringerContainerDescription); - assertTrue(ringerContainerDescription.startsWith(ringerDescription)); - } - } - @After public void teardown() { if (mDialog != null) { |