Add sensitivity configuration to long press power dialog
This gives the user the ability to configure the length of the long press power gesture. The configuration values are read from config.xml and can be customized per device. Bug: 193792060 Test: Manual test on Pixel 6 and Pixel 4 hardware devices Test: Unit tests with make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.gestures.*" Change-Id: Ia6595c1337244b01e9c8b2ef04dd97a9a0f03de2
This commit is contained in:
committed by
Govinda Wasserman
parent
f4977c5e36
commit
de2f00df41
@@ -16,6 +16,11 @@
|
||||
|
||||
package com.android.settings.gestures;
|
||||
|
||||
import static com.android.settings.gestures.PowerMenuSettingsUtils.LONG_PRESS_POWER_ASSISTANT_VALUE;
|
||||
import static com.android.settings.gestures.PowerMenuSettingsUtils.LONG_PRESS_POWER_GLOBAL_ACTIONS;
|
||||
import static com.android.settings.gestures.PowerMenuSettingsUtils.POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE;
|
||||
import static com.android.settings.gestures.PowerMenuSettingsUtils.POWER_BUTTON_LONG_PRESS_SETTING;
|
||||
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
|
||||
@@ -33,27 +38,12 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
*/
|
||||
public class LongPressPowerButtonPreferenceController extends TogglePreferenceController {
|
||||
|
||||
private static final String POWER_BUTTON_LONG_PRESS_SETTING =
|
||||
Settings.Global.POWER_BUTTON_LONG_PRESS;
|
||||
private static final String KEY_CHORD_POWER_VOLUME_UP_SETTING =
|
||||
Settings.Global.KEY_CHORD_POWER_VOLUME_UP;
|
||||
|
||||
private static final String FOOTER_HINT_KEY = "power_menu_power_volume_up_hint";
|
||||
private static final String ASSIST_SWITCH_KEY = "gesture_power_menu_long_press_for_assist";
|
||||
|
||||
/**
|
||||
* Values used for long press power button behaviour when Assist setting is enabled.
|
||||
*
|
||||
* {@link com.android.server.policy.PhoneWindowManager#LONG_PRESS_POWER_GLOBAL_ACTIONS} for
|
||||
* source of the value.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
static final int LONG_PRESS_POWER_NO_ACTION = 0;
|
||||
@VisibleForTesting
|
||||
static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
|
||||
@VisibleForTesting
|
||||
static final int LONG_PRESS_POWER_ASSISTANT_VALUE = 5; // Settings.Secure.ASSISTANT
|
||||
|
||||
/**
|
||||
* Values used for volume key chord behaviour when Assist setting is enabled.
|
||||
*
|
||||
@@ -67,15 +57,6 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo
|
||||
@VisibleForTesting
|
||||
static final int KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS = 2;
|
||||
|
||||
/**
|
||||
* Value used for long press power button behaviour when the Assist setting is disabled.
|
||||
*
|
||||
* If this value matches Assist setting, then it falls back to Global Actions panel or
|
||||
* power menu, depending on their respective settings.
|
||||
*/
|
||||
private static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE =
|
||||
com.android.internal.R.integer.config_longPressOnPowerBehavior;
|
||||
|
||||
private static final int KEY_CHORD_POWER_VOLUME_UP_DEFAULT_VALUE_RESOURCE =
|
||||
com.android.internal.R.integer.config_keyChordPowerVolumeUp;
|
||||
|
||||
@@ -101,7 +82,7 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo
|
||||
|
||||
@Override
|
||||
public CharSequence getSummary() {
|
||||
final int powerButtonValue = getPowerButtonValue();
|
||||
final int powerButtonValue = PowerMenuSettingsUtils.getPowerButtonSettingValue(mContext);
|
||||
if (powerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
|
||||
return mContext.getString(R.string.power_menu_summary_long_press_for_assist_enabled);
|
||||
} else if (powerButtonValue == LONG_PRESS_POWER_GLOBAL_ACTIONS) {
|
||||
@@ -122,7 +103,7 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return getPowerButtonValue() == LONG_PRESS_POWER_ASSISTANT_VALUE;
|
||||
return PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -159,12 +140,6 @@ public class LongPressPowerButtonPreferenceController extends TogglePreferenceCo
|
||||
}
|
||||
}
|
||||
|
||||
private int getPowerButtonValue() {
|
||||
return Settings.Global.getInt(mContext.getContentResolver(),
|
||||
POWER_BUTTON_LONG_PRESS_SETTING,
|
||||
mContext.getResources().getInteger(POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE));
|
||||
}
|
||||
|
||||
private static boolean isPowerMenuKeyChordEnabled(Context context) {
|
||||
return Settings.Global.getInt(context.getContentResolver(),
|
||||
KEY_CHORD_POWER_VOLUME_UP_SETTING,
|
||||
|
||||
Reference in New Issue
Block a user