LPP will now always launch either GlobalActions or the Assistant.
Previously, on devices that default to launching Assistant
on long-press power, toggling this checkbox in Settings
would switch between that default (launching Assistant) and
a no-op. Those devices now toggle between Assistant and
GlobalActions (the power menu), just like devices that have
the old default behavior of LPP launching GlobalActions.
Change-Id: Id36031e70825da195f9c30ce05b3ae3d5e49b5fb
Test: make RunSettingsRoboTests \
ROBOTEST_FILTER=LongPressPowerButtonPreferenceControllerTest
Bug: 192946325
diff --git a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
index 3e9c80f..a52be15 100644
--- a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
+++ b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
@@ -179,16 +179,18 @@
POWER_BUTTON_LONG_PRESS_SETTING, LONG_PRESS_POWER_ASSISTANT_VALUE);
}
- // We need to determine the right disabled value - we set it to device default
- // if it's different than Assist, otherwise we fallback to either global actions or power
- // menu.
+ // We need to determine the right disabled value based on the device default
+ // for long-press power.
+
+ // If the default is to start the assistant, then the fallback is GlobalActions.
final int defaultPowerButtonValue = mContext.getResources().getInteger(
POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE);
if (defaultPowerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
return Settings.Global.putInt(mContext.getContentResolver(),
- POWER_BUTTON_LONG_PRESS_SETTING, LONG_PRESS_POWER_NO_ACTION);
+ POWER_BUTTON_LONG_PRESS_SETTING, LONG_PRESS_POWER_GLOBAL_ACTIONS);
}
+ // If the default is something different than Assist, we use that default.
return Settings.Global.putInt(mContext.getContentResolver(),
POWER_BUTTON_LONG_PRESS_SETTING, defaultPowerButtonValue);
}
diff --git a/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
index 053fa5a..8ff50ab 100644
--- a/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
@@ -199,7 +199,7 @@
@Test
public void preferenceUnchecked_assistDefault_setNoAction() {
- // Value out of range chosen deliberately.
+ // Ensure that the Assistant is the default behavior for LPP.
when(mResources.getInteger(
com.android.internal.R.integer.config_longPressOnPowerBehavior))
.thenReturn(
@@ -209,13 +209,12 @@
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
- LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_NO_ACTION);
+ 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_NO_ACTION);
- verify(mController.mAssistSwitch).setSummary(
- getString(
- R.string.power_menu_summary_long_press_for_assist_disabled_no_action));
+ verify(mController.mAssistSwitch).setSummary(getString(
+ R.string.power_menu_summary_long_press_for_assist_disabled_with_power_menu));
}
private String getString(@StringRes int id) {