summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/keyguard
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2014-06-17 15:04:47 -0700
committerJorim Jaggi <jjaggi@google.com>2014-06-17 15:28:05 -0700
commit53c68a44acbd9343dda648c17652e921c28fda1d (patch)
tree43f69c8ee631c1f67bf118582b79e9a9be63e6ff /packages/SystemUI/src/com/android/systemui/keyguard
parent1f681448c6b7db451c31af7d61c0b85b7b5af04f (diff)
downloadframeworks_base-53c68a44acbd9343dda648c17652e921c28fda1d.zip
frameworks_base-53c68a44acbd9343dda648c17652e921c28fda1d.tar.gz
frameworks_base-53c68a44acbd9343dda648c17652e921c28fda1d.tar.bz2
Fix bug when Keyguard gets hidden.
We make sure in Keyguard that we only hide ourselves in startKeyguardExitAnimation ourselves when we requested a hide. In addition, this change also fixes a bug in WindowAnimator that it should only call startKeyguardExitAnimation when Keyguard actually requested a hide. Bug: 15676717 Change-Id: I2279cccb9916985b7e9a2f41137878be5782cb9c
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/keyguard')
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index ffd76a7..b9e2e1b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -239,6 +239,12 @@ public class KeyguardViewMediator extends SystemUI {
private String mPhoneState = TelephonyManager.EXTRA_STATE_IDLE;
/**
+ * Whether a hide is pending an we are just waiting for #startKeyguardExitAnimation to be
+ * called.
+ * */
+ private boolean mHiding;
+
+ /**
* we send this intent when the keyguard is dismissed.
*/
private static final Intent USER_PRESENT_INTENT = new Intent(Intent.ACTION_USER_PRESENT)
@@ -1169,6 +1175,7 @@ public class KeyguardViewMediator extends SystemUI {
}
mStatusBarKeyguardViewManager.show(options);
+ mHiding = false;
mShowing = true;
mKeyguardDonePending = false;
updateActivityLockScreenState();
@@ -1191,7 +1198,7 @@ public class KeyguardViewMediator extends SystemUI {
synchronized (KeyguardViewMediator.this) {
if (DEBUG) Log.d(TAG, "handleHide");
try {
-
+ mHiding = true;
if (mShowing) {
// Don't actually hide the Keyguard at the moment, wait for window manager until
@@ -1212,6 +1219,11 @@ public class KeyguardViewMediator extends SystemUI {
private void handleStartKeyguardExitAnimation(long startTime, long fadeoutDuration) {
synchronized (KeyguardViewMediator.this) {
+ if (!mHiding) {
+ return;
+ }
+ mHiding = false;
+
// only play "unlock" noises if not on a call (since the incall UI
// disables the keyguard)
if (TelephonyManager.EXTRA_STATE_IDLE.equals(mPhoneState)) {