From 9e3f6cd5a7c92ac4ee9afc1edf81306e5709f50e Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Wed, 5 Mar 2025 15:43:48 -0500 Subject: A11Y: talkback does not announce biometrci message in AoD Bug: 378398426 Test: manual - use wrong fingerprint to auth in AoD screen Test: atest SystemUITests Flag: EXEMPT bugfix Change-Id: If5a2660d57316ec1cffe42238bf3736b83b7f4b6 --- .../statusbar/KeyguardIndicationController.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 657c86b10f16..e66b21866902 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -1088,14 +1088,18 @@ public class KeyguardIndicationController { if (!TextUtils.equals(mTopIndicationView.getText(), newIndication)) { mWakeLock.setAcquired(true); + final KeyguardIndication.Builder builder = new KeyguardIndication.Builder() + .setMessage(newIndication) + .setTextColor(ColorStateList.valueOf( + useMisalignmentColor + ? mContext.getColor(R.color.misalignment_text_color) + : Color.WHITE)); + if (mBiometricMessage != null && newIndication == mBiometricMessage) { + builder.setForceAccessibilityLiveRegionAssertive(); + } + mTopIndicationView.switchIndication(newIndication, - new KeyguardIndication.Builder() - .setMessage(newIndication) - .setTextColor(ColorStateList.valueOf( - useMisalignmentColor - ? mContext.getColor(R.color.misalignment_text_color) - : Color.WHITE)) - .build(), + builder.build(), true, () -> mWakeLock.setAcquired(false)); } return; -- cgit v1.2.3-59-g8ed1b