Reset mSecureCameraLaunched when bouncer is shown
Whenever the bouncer is shown, face auth should start again.
Fixes: 137228869
Test: Install test camera app that's available on lockscreen, double tap
power to launch camera on lock screen. Bouncer is shown, and face
unlock works
Change-Id: Ia33075935c6d8413ab7c9351739cca67bb81c377
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 05e14a7..2eb93d3 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -2203,6 +2203,15 @@
if (DEBUG) Log.d(TAG, "handleKeyguardBouncerChanged(" + bouncer + ")");
boolean isBouncer = (bouncer == 1);
mBouncer = isBouncer;
+
+ if (isBouncer) {
+ // If the bouncer is shown, always clear this flag. This can happen in the following
+ // situations: 1) Default camera with SHOW_WHEN_LOCKED is not chosen yet. 2) Secure
+ // camera requests dismiss keyguard (tapping on photos for example). When these happen,
+ // face auth should resume.
+ mSecureCameraLaunched = false;
+ }
+
for (int i = 0; i < mCallbacks.size(); i++) {
KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
if (cb != null) {
@@ -2649,6 +2658,7 @@
pw.println(" strongAuthFlags=" + Integer.toHexString(strongAuthFlags));
pw.println(" trustManaged=" + getUserTrustIsManaged(userId));
pw.println(" enabledByUser=" + mFaceSettingEnabledForUser);
+ pw.println(" mSecureCameraLaunched=" + mSecureCameraLaunched);
}
}
}