diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 1c0088709f14a..ed36a27fcb350 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -912,7 +912,11 @@ public class KeyguardIndicationController { } else if (mKeyguardUpdateMonitor.isScreenOn()) { if (biometricSourceType == BiometricSourceType.FACE && shouldSuppressFaceMsgAndShowTryFingerprintMsg()) { - showTryFingerprintMsg(msgId, helpString); + // don't show any help messages, b/c they can come in right before a success + // However, continue to announce help messages for a11y + if (!TextUtils.isEmpty(helpString)) { + mLockScreenIndicationView.announceForAccessibility(helpString); + } return; } showTransientIndication(helpString, false /* isError */, showActionToUnlock); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java index cb0d87a20f894..8afefde866324 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java @@ -710,8 +710,8 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase { KeyguardUpdateMonitor.BIOMETRIC_HELP_FACE_NOT_RECOGNIZED, faceHelpMsg, BiometricSourceType.FACE); - // THEN "try fingerprint" message appears (and not the face help message) - verifyTransientMessage(mKeyguardTryFingerprintMsg); + // THEN no help message appears + verify(mRotateTextViewController, never()).showTransient(anyString()); // THEN the face help message is still announced for a11y verify(mIndicationAreaBottom).announceForAccessibility(eq(faceHelpMsg));