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.
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 9b54a70..29a5ba8 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -156,6 +156,7 @@
private int mProximityCount = 0;
private int mPowerState;
private boolean mOffBecauseOfUser;
+ private boolean mAnimatingScreenOff;
private int mUserState;
private boolean mKeyboardVisible = false;
private boolean mUserActivityAllowed = true;
@@ -1225,6 +1226,7 @@
Log.d(TAG,
"preventScreenOn: turning on after a prior preventScreenOn(true)!");
}
+ mAnimatingScreenOff = false;
int err = setScreenStateLocked(true);
if (err != 0) {
Log.w(TAG, "preventScreenOn: error from setScreenStateLocked(): " + err);
@@ -1386,6 +1388,7 @@
reallyTurnScreenOn = false;
}
if (reallyTurnScreenOn) {
+ mAnimatingScreenOff = false;
err = setScreenStateLocked(true);
long identity = Binder.clearCallingIdentity();
try {
@@ -1427,6 +1430,7 @@
if (!mScreenBrightness.animating) {
err = screenOffFinishedAnimatingLocked(becauseOfUser);
} else {
+ mAnimatingScreenOff = true;
mOffBecauseOfUser = becauseOfUser;
err = 0;
mLastTouchDown = 0;
@@ -1444,6 +1448,7 @@
mTotalTouchDownTime, mTouchCycles);
mLastTouchDown = 0;
int err = setScreenStateLocked(false);
+ mAnimatingScreenOff = false;
if (mScreenOnStartTime != 0) {
mScreenOnTime += SystemClock.elapsedRealtime() - mScreenOnStartTime;
mScreenOnStartTime = 0;
@@ -1816,7 +1821,9 @@
return;
}
-
+ if (mAnimatingScreenOff) {
+ return;
+ }
if (false) {
if (((mPokey & POKE_LOCK_IGNORE_CHEEK_EVENTS) != 0)) {
Log.d(TAG, "userActivity !!!");//, new RuntimeException());