Loading packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +15 −8 Original line number Diff line number Diff line Loading @@ -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; } Loading @@ -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. Loading Loading @@ -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 Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +15 −8 Original line number Diff line number Diff line Loading @@ -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; } Loading @@ -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. Loading Loading @@ -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 Loading