Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 509670cb authored by Daniel Sandler's avatar Daniel Sandler Committed by Dan Sandler
Browse files

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
parent cee3e9bf
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -179,16 +179,18 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo
                    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);
    }
+4 −5
Original line number Diff line number Diff line
@@ -199,7 +199,7 @@ public class LongPressPowerButtonPreferenceControllerTest {

    @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 @@ public class LongPressPowerButtonPreferenceControllerTest {

        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) {