Merge "Toggle for disabling stylus buttons."

This commit is contained in:
Vania Januar
2022-12-05 18:59:22 +00:00
committed by Android (Google) Code Review
3 changed files with 21 additions and 1 deletions

View File

@@ -7223,6 +7223,15 @@ public final class Settings {
@SuppressLint("NoSettingsProvider")
public static final String SHOW_IME_WITH_HARD_KEYBOARD = "show_ime_with_hard_keyboard";
/**
* Whether stylus button presses are disabled. This is a boolean that
* determines if stylus buttons are ignored.
*
* @hide
*/
@SuppressLint("NoSettingsProvider")
public static final String STYLUS_BUTTONS_DISABLED = "stylus_buttons_disabled";
/**
* Host name and port for global http proxy. Uses ':' seperator for
* between host and port.

View File

@@ -772,6 +772,7 @@ public class SettingsBackupTest {
Settings.Secure.SLEEP_TIMEOUT,
Settings.Secure.SMS_DEFAULT_APPLICATION,
Settings.Secure.SPELL_CHECKER_ENABLED, // Intentionally removed in Q
Settings.Secure.STYLUS_BUTTONS_DISABLED,
Settings.Secure.TRUST_AGENTS_INITIALIZED,
Settings.Secure.KNOWN_TRUST_AGENTS_INITIALIZED,
Settings.Secure.TV_APP_USES_NON_SYSTEM_INPUTS,

View File

@@ -151,6 +151,7 @@ import android.os.Vibrator;
import android.provider.DeviceConfig;
import android.provider.MediaStore;
import android.provider.Settings;
import android.provider.Settings.Secure;
import android.service.dreams.DreamManagerInternal;
import android.service.dreams.DreamService;
import android.service.dreams.IDreamManager;
@@ -516,6 +517,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
int mDoublePressOnStemPrimaryBehavior;
int mTriplePressOnStemPrimaryBehavior;
int mLongPressOnStemPrimaryBehavior;
boolean mStylusButtonsDisabled = false;
boolean mHasSoftInput = false;
boolean mHapticTextHandleEnabled;
boolean mUseTvRouting;
@@ -771,6 +773,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
resolver.registerContentObserver(Settings.Global.getUriFor(
Settings.Global.POWER_BUTTON_SUPPRESSION_DELAY_AFTER_GESTURE_WAKE), false, this,
UserHandle.USER_ALL);
resolver.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.STYLUS_BUTTONS_DISABLED), false, this,
UserHandle.USER_ALL);
updateSettings();
}
@@ -2560,6 +2565,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
Settings.Global.KEY_CHORD_POWER_VOLUME_UP,
mContext.getResources().getInteger(
com.android.internal.R.integer.config_keyChordPowerVolumeUp));
mStylusButtonsDisabled = Settings.Secure.getIntForUser(resolver,
Secure.STYLUS_BUTTONS_DISABLED, 0, UserHandle.USER_CURRENT) == 1;
}
if (updateRotation) {
updateRotation(true);
@@ -4183,7 +4191,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case KeyEvent.KEYCODE_DEMO_APP_3:
case KeyEvent.KEYCODE_DEMO_APP_4: {
// TODO(b/254604589): Dispatch KeyEvent to System UI.
sendSystemKeyToStatusBarAsync(keyCode);
if (!mStylusButtonsDisabled) {
sendSystemKeyToStatusBarAsync(keyCode);
}
// Just drop if keys are not intercepted for direct key.
result &= ~ACTION_PASS_TO_USER;