Loading src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java +18 −3 Original line number Diff line number Diff line Loading @@ -76,6 +76,8 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo * frameworks/base/core/res/res/values/config.xml */ @VisibleForTesting static final int KEY_CHORD_POWER_VOLUME_UP_NO_ACTION = 0; @VisibleForTesting static final int KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE = 1; @VisibleForTesting static final int KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS = 2; Loading @@ -89,6 +91,9 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo private static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE = R.integer.config_longPressOnPowerBehavior; private static final int KEY_CHORD_POWER_VOLUME_UP_DEFAULT_VALUE_RESOURCE = R.integer.config_keyChordPowerVolumeUp; @Nullable private SettingObserver mSettingsObserver; Loading Loading @@ -177,10 +182,20 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo * should show the power menu. */ private boolean setPowerVolumeChordValue(boolean isPowerButtonLongPressChecked) { if (isPowerButtonLongPressChecked) { return Settings.Global.putInt(mContext.getContentResolver(), KEY_CHORD_POWER_VOLUME_UP_SETTING, KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS); } // If the key chord defaults to mute toggle, we restore that setting if LPP option is // disabled. Otherwise we default to no action. boolean isMuteToggleKeyChordDefault = mContext.getResources().getInteger( KEY_CHORD_POWER_VOLUME_UP_DEFAULT_VALUE_RESOURCE) == KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE; return Settings.Global.putInt(mContext.getContentResolver(), KEY_CHORD_POWER_VOLUME_UP_SETTING, isPowerButtonLongPressChecked ? KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS : KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); KEY_CHORD_POWER_VOLUME_UP_SETTING, isMuteToggleKeyChordDefault ? KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE : KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } /** Loading tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java +22 −2 Original line number Diff line number Diff line Loading @@ -93,6 +93,25 @@ public class LongPressPowerButtonPreferenceControllerTest { com.android.internal.R.integer.config_longPressOnPowerBehavior)) .thenReturn(8); mController.onPreferenceChange(null, false); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } @Test public void preferenceUnchecked_muteChordDefault_longPressPowerSettingSetToDefaultValue() { // Value out of range chosen deliberately. when(mResources.getInteger( com.android.internal.R.integer.config_longPressOnPowerBehavior)) .thenReturn(8); when(mResources.getInteger( com.android.internal.R.integer.config_keyChordPowerVolumeUp)) .thenReturn( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); mController.onPreferenceChange(null, false); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8); Loading @@ -115,9 +134,10 @@ public class LongPressPowerButtonPreferenceControllerTest { LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_SHUT_OFF); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } @Test public void preferenceUnchecked_assistDefaultGlobalActionsEnabled_setGlobalActions() { // Value out of range chosen deliberately. Loading @@ -136,6 +156,6 @@ public class LongPressPowerButtonPreferenceControllerTest { LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } } Loading
src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java +18 −3 Original line number Diff line number Diff line Loading @@ -76,6 +76,8 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo * frameworks/base/core/res/res/values/config.xml */ @VisibleForTesting static final int KEY_CHORD_POWER_VOLUME_UP_NO_ACTION = 0; @VisibleForTesting static final int KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE = 1; @VisibleForTesting static final int KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS = 2; Loading @@ -89,6 +91,9 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo private static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE = R.integer.config_longPressOnPowerBehavior; private static final int KEY_CHORD_POWER_VOLUME_UP_DEFAULT_VALUE_RESOURCE = R.integer.config_keyChordPowerVolumeUp; @Nullable private SettingObserver mSettingsObserver; Loading Loading @@ -177,10 +182,20 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo * should show the power menu. */ private boolean setPowerVolumeChordValue(boolean isPowerButtonLongPressChecked) { if (isPowerButtonLongPressChecked) { return Settings.Global.putInt(mContext.getContentResolver(), KEY_CHORD_POWER_VOLUME_UP_SETTING, KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS); } // If the key chord defaults to mute toggle, we restore that setting if LPP option is // disabled. Otherwise we default to no action. boolean isMuteToggleKeyChordDefault = mContext.getResources().getInteger( KEY_CHORD_POWER_VOLUME_UP_DEFAULT_VALUE_RESOURCE) == KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE; return Settings.Global.putInt(mContext.getContentResolver(), KEY_CHORD_POWER_VOLUME_UP_SETTING, isPowerButtonLongPressChecked ? KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS : KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); KEY_CHORD_POWER_VOLUME_UP_SETTING, isMuteToggleKeyChordDefault ? KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE : KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } /** Loading
tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java +22 −2 Original line number Diff line number Diff line Loading @@ -93,6 +93,25 @@ public class LongPressPowerButtonPreferenceControllerTest { com.android.internal.R.integer.config_longPressOnPowerBehavior)) .thenReturn(8); mController.onPreferenceChange(null, false); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } @Test public void preferenceUnchecked_muteChordDefault_longPressPowerSettingSetToDefaultValue() { // Value out of range chosen deliberately. when(mResources.getInteger( com.android.internal.R.integer.config_longPressOnPowerBehavior)) .thenReturn(8); when(mResources.getInteger( com.android.internal.R.integer.config_keyChordPowerVolumeUp)) .thenReturn( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); mController.onPreferenceChange(null, false); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8); Loading @@ -115,9 +134,10 @@ public class LongPressPowerButtonPreferenceControllerTest { LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_SHUT_OFF); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } @Test public void preferenceUnchecked_assistDefaultGlobalActionsEnabled_setGlobalActions() { // Value out of range chosen deliberately. Loading @@ -136,6 +156,6 @@ public class LongPressPowerButtonPreferenceControllerTest { LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS); assertThat(Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_MUTE_TOGGLE); LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); } }