Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f7b84e0 authored by Bryce Lee's avatar Bryce Lee Committed by Android (Google) Code Review
Browse files

Merge "Always wake device on power key from non interactive immediately." into lmp-sprout-dev

parents b510a1cb d9268e3f
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -316,6 +316,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;

@@ -877,15 +878,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;
                }
            }
        }
@@ -922,6 +921,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    }

    private void finishPowerKeyPress() {
        mBeganFromNonInteractive = false;
        mPowerKeyPressCounter = 0;
        if (mPowerKeyWakeLock.isHeld()) {
            mPowerKeyWakeLock.release();
@@ -946,9 +946,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;