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

Merge commit '00d1772d8cfb94066b757034055ac38897d161da' into gingerbread-plus-aosp

* commit '00d1772d8cfb94066b757034055ac38897d161da':
  Continue trying to make the turn off quickly after call feature work.
This commit is contained in:
Joe Onorato
2010-08-26 12:05:54 -07:00
committed by Android Git Automerger

View File

@ -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