diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java | 55 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java | 90 |
2 files changed, 14 insertions, 131 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 109c1cfdcf0f..b848d2e84faf 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -930,7 +930,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, showRingerDrawer(); } }); - updateSelectedRingerContainerDescription(mIsRingerDrawerOpen); mRingerDrawerVibrate.setOnClickListener( new RingerDrawerItemClickListener(RINGER_MODE_VIBRATE)); @@ -993,18 +992,6 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, : 0; } - @VisibleForTesting String getSelectedRingerContainerDescription() { - return mSelectedRingerContainer.getContentDescription().toString(); - } - - @VisibleForTesting void toggleRingerDrawer(boolean show) { - if (show) { - showRingerDrawer(); - } else { - hideRingerDrawer(); - } - } - /** Animates in the ringer drawer. */ private void showRingerDrawer() { if (mIsRingerDrawerOpen) { @@ -1082,7 +1069,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; } @@ -1128,38 +1120,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) 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( @@ -1735,7 +1703,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; @@ -1817,7 +1785,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 2ea6368ab402..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,16 +16,11 @@ 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.mockito.ArgumentMatchers.any; @@ -298,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(); @@ -312,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(); @@ -334,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); } /** @@ -516,85 +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(); - 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) { |