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

Commit 00d1772d authored by Joe Onorato's avatar Joe Onorato Committed by Android Git Automerger
Browse files

am 797e688b: Continue trying to make the turn off quickly after call feature work.

Merge commit '797e688b' into gingerbread

* commit '797e688b':
  Continue trying to make the turn off quickly after call feature work.
parents 274ad982 797e688b
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -1043,11 +1043,10 @@ class PowerManagerService extends IPowerManager.Stub
    // If they gave a timeoutOverride it is the number of seconds
    // to screen-off.  Figure out where in the countdown cycle we
    // should jump to.
    private void setTimeoutLocked(long now, long timeoutOverride, int nextState) {
    private void setTimeoutLocked(long now, final long originalTimeoutOverride, int nextState) {
        long timeoutOverride = originalTimeoutOverride;
        if (mBootCompleted) {
            synchronized (mLocks) {
                mHandler.removeCallbacks(mTimeoutTask);
                mTimeoutTask.nextState = nextState;
                long when = 0;
                if (timeoutOverride <= 0) {
                    switch (nextState)
@@ -1098,6 +1097,12 @@ class PowerManagerService extends IPowerManager.Stub
                            + " timeoutOverride=" + timeoutOverride
                            + " nextState=" + nextState + " when=" + when);
                }

                mHandler.removeCallbacks(mTimeoutTask);
                mTimeoutTask.nextState = nextState;
                mTimeoutTask.remainingTimeoutOverride = timeoutOverride > 0
                        ? (originalTimeoutOverride - timeoutOverride)
                        : -1;
                mHandler.postAtTime(mTimeoutTask, when);
                mNextTimeout = when; // for debugging
            }
@@ -1113,6 +1118,7 @@ class PowerManagerService extends IPowerManager.Stub
    private class TimeoutTask implements Runnable
    {
        int nextState; // access should be synchronized on mLocks
        long remainingTimeoutOverride;
        public void run()
        {
            synchronized (mLocks) {
@@ -1133,11 +1139,11 @@ class PowerManagerService extends IPowerManager.Stub
                {
                    case SCREEN_BRIGHT:
                        if (mDimDelay >= 0) {
                            setTimeoutLocked(now, SCREEN_DIM);
                            setTimeoutLocked(now, remainingTimeoutOverride, SCREEN_DIM);
                            break;
                        }
                    case SCREEN_DIM:
                        setTimeoutLocked(now, SCREEN_OFF);
                        setTimeoutLocked(now, remainingTimeoutOverride, SCREEN_OFF);
                        break;
                }
            }
@@ -2076,6 +2082,7 @@ class PowerManagerService extends IPowerManager.Stub
                        + " mUserState=0x" + Integer.toHexString(mUserState)
                        + " mWakeLockState=0x" + Integer.toHexString(mWakeLockState)
                        + " mProximitySensorActive=" + mProximitySensorActive
                        + " timeoutOverride=" + timeoutOverride
                        + " force=" + force);
            }
            // ignore user activity if we are in the process of turning off the screen