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
This commit is contained in:
Daniel Sandler
2021-08-18 00:22:22 +00:00
committed by Dan Sandler
parent cee3e9bfce
commit 509670cb0d
2 changed files with 10 additions and 9 deletions

View File

@@ -179,16 +179,18 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo
POWER_BUTTON_LONG_PRESS_SETTING, LONG_PRESS_POWER_ASSISTANT_VALUE); POWER_BUTTON_LONG_PRESS_SETTING, LONG_PRESS_POWER_ASSISTANT_VALUE);
} }
// We need to determine the right disabled value - we set it to device default // We need to determine the right disabled value based on the device default
// if it's different than Assist, otherwise we fallback to either global actions or power // for long-press power.
// menu.
// If the default is to start the assistant, then the fallback is GlobalActions.
final int defaultPowerButtonValue = mContext.getResources().getInteger( final int defaultPowerButtonValue = mContext.getResources().getInteger(
POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE); POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE);
if (defaultPowerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) { if (defaultPowerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
return Settings.Global.putInt(mContext.getContentResolver(), 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(), return Settings.Global.putInt(mContext.getContentResolver(),
POWER_BUTTON_LONG_PRESS_SETTING, defaultPowerButtonValue); POWER_BUTTON_LONG_PRESS_SETTING, defaultPowerButtonValue);
} }

View File

@@ -199,7 +199,7 @@ public class LongPressPowerButtonPreferenceControllerTest {
@Test @Test
public void preferenceUnchecked_assistDefault_setNoAction() { public void preferenceUnchecked_assistDefault_setNoAction() {
// Value out of range chosen deliberately. // Ensure that the Assistant is the default behavior for LPP.
when(mResources.getInteger( when(mResources.getInteger(
com.android.internal.R.integer.config_longPressOnPowerBehavior)) com.android.internal.R.integer.config_longPressOnPowerBehavior))
.thenReturn( .thenReturn(
@@ -209,13 +209,12 @@ public class LongPressPowerButtonPreferenceControllerTest {
assertThat(Settings.Global.getInt(mContext.getContentResolver(), assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo( 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(), assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo( Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION); LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
verify(mController.mAssistSwitch).setSummary( verify(mController.mAssistSwitch).setSummary(getString(
getString( R.string.power_menu_summary_long_press_for_assist_disabled_with_power_menu));
R.string.power_menu_summary_long_press_for_assist_disabled_no_action));
} }
private String getString(@StringRes int id) { private String getString(@StringRes int id) {