Merge change I53f83502 into eclair

* changes:
  PowerManagerService: Ignore user activity while the screen is animating off.
This commit is contained in:
Android (Google) Code Review
2009-10-22 07:06:51 -04:00

View File

@ -156,6 +156,7 @@ class PowerManagerService extends IPowerManager.Stub
private int mProximityCount = 0; private int mProximityCount = 0;
private int mPowerState; private int mPowerState;
private boolean mOffBecauseOfUser; private boolean mOffBecauseOfUser;
private boolean mAnimatingScreenOff;
private int mUserState; private int mUserState;
private boolean mKeyboardVisible = false; private boolean mKeyboardVisible = false;
private boolean mUserActivityAllowed = true; private boolean mUserActivityAllowed = true;
@ -1225,6 +1226,7 @@ class PowerManagerService extends IPowerManager.Stub
Log.d(TAG, Log.d(TAG,
"preventScreenOn: turning on after a prior preventScreenOn(true)!"); "preventScreenOn: turning on after a prior preventScreenOn(true)!");
} }
mAnimatingScreenOff = false;
int err = setScreenStateLocked(true); int err = setScreenStateLocked(true);
if (err != 0) { if (err != 0) {
Log.w(TAG, "preventScreenOn: error from setScreenStateLocked(): " + err); Log.w(TAG, "preventScreenOn: error from setScreenStateLocked(): " + err);
@ -1386,6 +1388,7 @@ class PowerManagerService extends IPowerManager.Stub
reallyTurnScreenOn = false; reallyTurnScreenOn = false;
} }
if (reallyTurnScreenOn) { if (reallyTurnScreenOn) {
mAnimatingScreenOff = false;
err = setScreenStateLocked(true); err = setScreenStateLocked(true);
long identity = Binder.clearCallingIdentity(); long identity = Binder.clearCallingIdentity();
try { try {
@ -1427,6 +1430,7 @@ class PowerManagerService extends IPowerManager.Stub
if (!mScreenBrightness.animating) { if (!mScreenBrightness.animating) {
err = screenOffFinishedAnimatingLocked(becauseOfUser); err = screenOffFinishedAnimatingLocked(becauseOfUser);
} else { } else {
mAnimatingScreenOff = true;
mOffBecauseOfUser = becauseOfUser; mOffBecauseOfUser = becauseOfUser;
err = 0; err = 0;
mLastTouchDown = 0; mLastTouchDown = 0;
@ -1444,6 +1448,7 @@ class PowerManagerService extends IPowerManager.Stub
mTotalTouchDownTime, mTouchCycles); mTotalTouchDownTime, mTouchCycles);
mLastTouchDown = 0; mLastTouchDown = 0;
int err = setScreenStateLocked(false); int err = setScreenStateLocked(false);
mAnimatingScreenOff = false;
if (mScreenOnStartTime != 0) { if (mScreenOnStartTime != 0) {
mScreenOnTime += SystemClock.elapsedRealtime() - mScreenOnStartTime; mScreenOnTime += SystemClock.elapsedRealtime() - mScreenOnStartTime;
mScreenOnStartTime = 0; mScreenOnStartTime = 0;
@ -1816,7 +1821,9 @@ class PowerManagerService extends IPowerManager.Stub
return; return;
} }
if (mAnimatingScreenOff) {
return;
}
if (false) { if (false) {
if (((mPokey & POKE_LOCK_IGNORE_CHEEK_EVENTS) != 0)) { if (((mPokey & POKE_LOCK_IGNORE_CHEEK_EVENTS) != 0)) {
Log.d(TAG, "userActivity !!!");//, new RuntimeException()); Log.d(TAG, "userActivity !!!");//, new RuntimeException());