Merge "Adding debugging code for bug where recycled views still had parent" into jb-dev
diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
index 049e6ac..518d8e9 100644
--- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
+++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
@@ -532,11 +532,6 @@
if (DEBUG) Log.d(TAG, "screen off");
mScreenOn = false;
mForgotPattern = false;
- if (mBiometricUnlock != null) {
- mSuppressBiometricUnlock =
- mUpdateMonitor.getPhoneState() != TelephonyManager.CALL_STATE_IDLE
- || mHasDialog;
- }
// Emulate activity life-cycle for both lock and unlock screen.
if (mLockScreen != null) {
@@ -991,6 +986,17 @@
restartBiometricUnlock = mBiometricUnlock.stop();
}
+ // Prevents biometric unlock from coming up immediately after a phone call or if there
+ // is a dialog on top of lockscreen. It is only updated if the screen is off because if the
+ // screen is on it's either because of an orientation change, or when it first boots.
+ // In both those cases, we don't want to override the current value of
+ // mSuppressBiometricUnlock and instead want to use the previous value.
+ if (!mScreenOn) {
+ mSuppressBiometricUnlock =
+ mUpdateMonitor.getPhoneState() != TelephonyManager.CALL_STATE_IDLE
+ || mHasDialog;
+ }
+
// If the biometric unlock is not being used, we don't bother constructing it. Then we can
// simply check if it is null when deciding whether we should make calls to it.
mBiometricUnlock = null;