Merge "Recommend using fp for auth" into sc-dev am: 28e62c2da6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15156786

Change-Id: Icb04802c15a80343abfd46d7393ada4f5e8e7b40
This commit is contained in:
Beverly Tai
2021-07-01 16:25:30 +00:00
committed by Automerger Merge Worker

View File

@@ -882,7 +882,10 @@ public class KeyguardIndicationController implements KeyguardStateController.Cal
return;
}
if (biometricSourceType == BiometricSourceType.FACE && shouldSuppressFaceMsg()) {
if (biometricSourceType == BiometricSourceType.FACE
&& shouldSuppressFaceMsgAndShowTryFingerprintMsg()) {
// suggest trying fingerprint
showTransientIndication(R.string.keyguard_try_fingerprint);
return;
}
@@ -909,6 +912,12 @@ public class KeyguardIndicationController implements KeyguardStateController.Cal
if (shouldSuppressBiometricError(msgId, biometricSourceType, mKeyguardUpdateMonitor)) {
return;
}
if (biometricSourceType == BiometricSourceType.FACE
&& shouldSuppressFaceMsgAndShowTryFingerprintMsg()) {
// suggest trying fingerprint
showTransientIndication(R.string.keyguard_try_fingerprint);
return;
}
if (msgId == FaceManager.FACE_ERROR_TIMEOUT) {
// The face timeout message is not very actionable, let's ask the user to
// manually retry.
@@ -954,18 +963,16 @@ public class KeyguardIndicationController implements KeyguardStateController.Cal
|| msgId == FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED);
}
private boolean shouldSuppressFaceMsg() {
private boolean shouldSuppressFaceMsgAndShowTryFingerprintMsg() {
// For dual biometric, don't show face auth messages unless face auth was explicitly
// requested by the user.
return mKeyguardUpdateMonitor.isUdfpsEnrolled()
&& mKeyguardUpdateMonitor.isFingerprintDetectionRunning()
&& !mKeyguardUpdateMonitor.isFaceAuthUserRequested();
return mKeyguardUpdateMonitor.isFingerprintDetectionRunning()
&& !mKeyguardUpdateMonitor.isFaceAuthUserRequested()
&& mKeyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
true /* isStrongBiometric */);
}
private boolean shouldSuppressFaceError(int msgId, KeyguardUpdateMonitor updateMonitor) {
if (shouldSuppressFaceMsg()) {
return true;
}
// Only checking if unlocking with Biometric is allowed (no matter strong or non-strong
// as long as primary auth, i.e. PIN/pattern/password, is not required), so it's ok to
// pass true for isStrongBiometric to isUnlockingWithBiometricAllowed() to bypass the