Loading services/java/com/android/server/PowerManagerService.java +12 −5 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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 } Loading @@ -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) { Loading @@ -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; } } Loading Loading @@ -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 Loading Loading
services/java/com/android/server/PowerManagerService.java +12 −5 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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 } Loading @@ -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) { Loading @@ -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; } } Loading Loading @@ -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 Loading