diff options
author | Bryce Lee <brycelee@google.com> | 2015-03-06 20:41:12 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-06 20:41:13 +0000 |
commit | 1e53b98c38b6606859f4b33a98d776cbb65f1a42 (patch) | |
tree | 66a4f9d6645b529098bca6a4ee969caf0e31fd35 | |
parent | 8deb6d95a73d5d6860fbfb2eb273cdbc49c5d2c9 (diff) | |
parent | 82ae149f5bc499cfea1ef6c64582358b8c464c41 (diff) | |
download | frameworks_base-1e53b98c38b6606859f4b33a98d776cbb65f1a42.zip frameworks_base-1e53b98c38b6606859f4b33a98d776cbb65f1a42.tar.gz frameworks_base-1e53b98c38b6606859f4b33a98d776cbb65f1a42.tar.bz2 |
Merge "Allow press and hold from non-interactive." into lmp-mr1-modular-dev
-rwxr-xr-x | core/res/res/values/config.xml | 2 | ||||
-rwxr-xr-x | core/res/res/values/symbols.xml | 1 | ||||
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 23 |
3 files changed, 22 insertions, 4 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 15eb095..59686fd 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -530,6 +530,8 @@ <bool name="config_allowTheaterModeWakeFromWindowLayout">false</bool> <!-- If this is true, go to sleep when theater mode is enabled from button press --> <bool name="config_goToSleepOnButtonPressTheaterMode">true</bool> + <!-- If this is true, long press on power button will be available from the non-interactive state --> + <bool name="config_supportLongPressPowerWhenNonInteractive">false</bool> <!-- Auto-rotation behavior --> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 1f00dbe..82c81a0 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1615,6 +1615,7 @@ <java-symbol type="bool" name="config_allowTheaterModeWakeFromDock" /> <java-symbol type="bool" name="config_allowTheaterModeWakeFromWindowLayout" /> <java-symbol type="bool" name="config_goToSleepOnButtonPressTheaterMode" /> + <java-symbol type="bool" name="config_supportLongPressPowerWhenNonInteractive" /> <java-symbol type="bool" name="config_wifi_background_scan_support" /> <java-symbol type="bool" name="config_wifi_dual_band_support" /> <java-symbol type="bool" name="config_wimaxEnabled" /> diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index ccbef6b..aef9278 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -536,6 +536,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { private boolean mAllowTheaterModeWakeFromLidSwitch; private boolean mAllowTheaterModeWakeFromWakeGesture; + // Whether to support long press from power button in non-interactive mode + private boolean mSupportLongPressPowerWhenNonInteractive; + // Whether to go to sleep entering theater mode from power button private boolean mGoToSleepOnButtonPressTheaterMode; @@ -887,12 +890,21 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } else { wakeUpFromPowerKey(event.getDownTime()); - final int maxCount = getMaxMultiPressPowerCount(); - if (maxCount <= 1) { - mPowerKeyHandled = true; - } else { + if (mSupportLongPressPowerWhenNonInteractive && hasLongPressOnPowerBehavior()) { + Message msg = mHandler.obtainMessage(MSG_POWER_LONG_PRESS); + msg.setAsynchronous(true); + mHandler.sendMessageDelayed(msg, + ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); mBeganFromNonInteractive = true; + } else { + final int maxCount = getMaxMultiPressPowerCount(); + + if (maxCount <= 1) { + mPowerKeyHandled = true; + } else { + mBeganFromNonInteractive = true; + } } } } @@ -1262,6 +1274,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mGoToSleepOnButtonPressTheaterMode = mContext.getResources().getBoolean( com.android.internal.R.bool.config_goToSleepOnButtonPressTheaterMode); + mSupportLongPressPowerWhenNonInteractive = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_supportLongPressPowerWhenNonInteractive); + mShortPressOnPowerBehavior = mContext.getResources().getInteger( com.android.internal.R.integer.config_shortPressOnPowerBehavior); mLongPressOnPowerBehavior = mContext.getResources().getInteger( |