diff options
| -rw-r--r-- | core/res/res/values/config.xml | 3 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/policy/PhoneWindowManager.java | 12 |
3 files changed, 15 insertions, 1 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 8443a67e0f4d..4ce89c9b0022 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -974,6 +974,9 @@ --> <integer name="config_longPressOnBackBehavior">0</integer> + <!-- Allows activities to be launched on a long press on power during device setup. --> + <bool name="config_allowStartActivityForLongPressOnPowerInSetup">false</bool> + <!-- Control the behavior when the user short presses the power button. 0 - Nothing 1 - Go to sleep (doze) diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 5856648c78c8..ce7f1ff29ede 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -434,6 +434,7 @@ <java-symbol type="integer" name="config_veryLongPressOnPowerBehavior" /> <java-symbol type="integer" name="config_veryLongPressTimeout" /> <java-symbol type="integer" name="config_longPressOnBackBehavior" /> + <java-symbol type="bool" name="config_allowStartActivityForLongPressOnPowerInSetup" /> <java-symbol type="integer" name="config_lowMemoryKillerMinFreeKbytesAdjust" /> <java-symbol type="integer" name="config_lowMemoryKillerMinFreeKbytesAbsolute" /> <java-symbol type="integer" name="config_max_pan_devices" /> diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 07797043ecb9..5565f451c38c 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -618,6 +618,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { boolean mTranslucentDecorEnabled = true; boolean mUseTvRouting; int mVeryLongPressTimeout; + boolean mAllowStartActivityForLongPressOnPowerDuringSetup; private boolean mHandleVolumeKeysInWM; @@ -1622,7 +1623,11 @@ public class PhoneWindowManager implements WindowManagerPolicy { : mKeyguardDelegate.isShowing(); if (!keyguardActive) { Intent intent = new Intent(Intent.ACTION_VOICE_ASSIST); - startActivityAsUser(intent, UserHandle.CURRENT_OR_SELF); + if (mAllowStartActivityForLongPressOnPowerDuringSetup) { + mContext.startActivityAsUser(intent, UserHandle.CURRENT_OR_SELF); + } else { + startActivityAsUser(intent, UserHandle.CURRENT_OR_SELF); + } } break; } @@ -2134,6 +2139,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { com.android.internal.R.integer.config_shortPressOnSleepBehavior); mVeryLongPressTimeout = mContext.getResources().getInteger( com.android.internal.R.integer.config_veryLongPressTimeout); + mAllowStartActivityForLongPressOnPowerDuringSetup = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_allowStartActivityForLongPressOnPowerInSetup); mUseTvRouting = AudioSystem.getPlatformType(mContext) == AudioSystem.PLATFORM_TELEVISION; @@ -8661,6 +8668,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { pw.print("mShortPressOnWindowBehavior="); pw.println(shortPressOnWindowBehaviorToString(mShortPressOnWindowBehavior)); pw.print(prefix); + pw.print("mAllowStartActivityForLongPressOnPowerDuringSetup="); + pw.println(mAllowStartActivityForLongPressOnPowerDuringSetup); + pw.print(prefix); pw.print("mHasSoftInput="); pw.print(mHasSoftInput); pw.print(" mDismissImeOnBackKeyPressed="); pw.println(mDismissImeOnBackKeyPressed); pw.print(prefix); |