am eadb97b4: Merge change I53f83502 into eclair

Merge commit 'eadb97b4826bb6a2fa34db9c65b5a0d6f7baade9' into eclair-mr2

* commit 'eadb97b4826bb6a2fa34db9c65b5a0d6f7baade9':
  PowerManagerService: Ignore user activity while the screen is animating off.
This commit is contained in:
Mike Lockwood
2009-10-22 10:49:11 -07:00
committed by Android Git Automerger

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());