diff options
| author | 2022-03-24 20:57:25 +0000 | |
|---|---|---|
| committer | 2022-03-24 20:57:25 +0000 | |
| commit | 837443e70011727b69d66f74ed7d91bb6f98c315 (patch) | |
| tree | 270cfdec695824adc14981b7a7548c922c952ee1 | |
| parent | b83faa12d7fe5ab76212cd347902f1cab0c02eac (diff) | |
| parent | 1a313bf717ef8c535a6952dbc14e6c87195e9e35 (diff) | |
Merge "Resolving duplicate “Fingerprint Sensor” talkback in Side-FPS SUW" into tm-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt index 4c00735ab785..085bcfafdf78 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/SidefpsController.kt @@ -33,6 +33,8 @@ import android.hardware.fingerprint.FingerprintSensorPropertiesInternal import android.hardware.fingerprint.ISidefpsController import android.os.Handler import android.util.Log +import android.view.View.AccessibilityDelegate +import android.view.accessibility.AccessibilityEvent import android.view.Display import android.view.Gravity import android.view.LayoutInflater @@ -181,6 +183,23 @@ class SidefpsController @Inject constructor( } lottie.addOverlayDynamicColor(context) + /** + * Intercepts TYPE_WINDOW_STATE_CHANGED accessibility event, preventing Talkback from + * speaking @string/accessibility_fingerprint_label twice when sensor location indicator + * is in focus + */ + view.setAccessibilityDelegate(object : AccessibilityDelegate() { + override fun dispatchPopulateAccessibilityEvent( + host: View, + event: AccessibilityEvent + ): Boolean { + return if (event.getEventType() === AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { + true + } else { + super.dispatchPopulateAccessibilityEvent(host, event) + } + } + }) return view } |