summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryce Lee <brycelee@google.com>2015-03-06 20:41:12 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-06 20:41:13 +0000
commit1e53b98c38b6606859f4b33a98d776cbb65f1a42 (patch)
tree66a4f9d6645b529098bca6a4ee969caf0e31fd35
parent8deb6d95a73d5d6860fbfb2eb273cdbc49c5d2c9 (diff)
parent82ae149f5bc499cfea1ef6c64582358b8c464c41 (diff)
downloadframeworks_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-xcore/res/res/values/config.xml2
-rwxr-xr-xcore/res/res/values/symbols.xml1
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java23
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(