diff options
author | Bryce Lee <brycelee@google.com> | 2014-11-18 19:12:43 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-18 19:12:43 +0000 |
commit | d4e55bdfc50635903e04934785ed82c39257506c (patch) | |
tree | fbca0f6d6d20dc84836a07548cb3037c8c56c02a /policy | |
parent | 9522055f1d10b30158b772885bf4befe06fb2a08 (diff) | |
parent | 8f7b84e037e35db9d3b46873bc1adf712b307cbe (diff) | |
download | frameworks_base-d4e55bdfc50635903e04934785ed82c39257506c.zip frameworks_base-d4e55bdfc50635903e04934785ed82c39257506c.tar.gz frameworks_base-d4e55bdfc50635903e04934785ed82c39257506c.tar.bz2 |
am 8f7b84e0: Merge "Always wake device on power key from non interactive immediately." into lmp-sprout-dev
* commit '8f7b84e037e35db9d3b46873bc1adf712b307cbe':
Always wake device on power key from non interactive immediately.
Diffstat (limited to 'policy')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 1ac956a..dea9932 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -319,6 +319,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // handler thread. We'll need to resolve this someday by teaching the input dispatcher // to hold wakelocks during dispatch and eliminating the critical path. volatile boolean mPowerKeyHandled; + volatile boolean mBeganFromNonInteractive; volatile int mPowerKeyPressCounter; volatile boolean mEndCallKeyHandled; @@ -882,15 +883,13 @@ public class PhoneWindowManager implements WindowManagerPolicy { ViewConfiguration.get(mContext).getDeviceGlobalActionKeyTimeout()); } } else { - // When non-interactive, we ordinarily wake up immediately and - // consume the key. However on some devices we need to support multi-press - // without waking so we will delay handling for later in that case - // (at the cost of increased latency). + wakeUpFromPowerKey(event.getDownTime()); final int maxCount = getMaxMultiPressPowerCount(); + if (maxCount <= 1) { - // No other actions. We can wake immediately. - wakeUpFromPowerKey(event.getDownTime()); mPowerKeyHandled = true; + } else { + mBeganFromNonInteractive = true; } } } @@ -927,6 +926,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } private void finishPowerKeyPress() { + mBeganFromNonInteractive = false; mPowerKeyPressCounter = 0; if (mPowerKeyWakeLock.isHeld()) { mPowerKeyWakeLock.release(); @@ -951,9 +951,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { powerMultiPressAction(eventTime, interactive, mDoublePressOnPowerBehavior); } else if (count == 3) { powerMultiPressAction(eventTime, interactive, mTriplePressOnPowerBehavior); - } else if (!interactive) { - wakeUpFromPowerKey(eventTime); - } else { + } else if (interactive && !mBeganFromNonInteractive) { switch (mShortPressOnPowerBehavior) { case SHORT_PRESS_POWER_NOTHING: break; |