diff options
| author | Bryce Lee <brycelee@google.com> | 2015-02-27 17:56:04 -0800 |
|---|---|---|
| committer | Bryce Lee <brycelee@google.com> | 2015-02-27 17:59:16 -0800 |
| commit | 82ae149f5bc499cfea1ef6c64582358b8c464c41 (patch) | |
| tree | e21e33752519c5ea217c7d51cd41842eb8c76aaa /policy | |
| parent | ac8da5a223f9732ba5dcf45896e0c390f009bc28 (diff) | |
| download | frameworks_base-82ae149f5bc499cfea1ef6c64582358b8c464c41.zip frameworks_base-82ae149f5bc499cfea1ef6c64582358b8c464c41.tar.gz frameworks_base-82ae149f5bc499cfea1ef6c64582358b8c464c41.tar.bz2 | |
Allow press and hold from non-interactive.
Bug: 19520133
Change-Id: I3ad50f72499667e9b711057f381144a6c3ae6138
Diffstat (limited to 'policy')
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 23 |
1 files changed, 19 insertions, 4 deletions
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( |
