summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Grace Cheng <graciecheng@google.com> 2022-03-24 20:57:25 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-03-24 20:57:25 +0000
commit837443e70011727b69d66f74ed7d91bb6f98c315 (patch)
tree270cfdec695824adc14981b7a7548c922c952ee1
parentb83faa12d7fe5ab76212cd347902f1cab0c02eac (diff)
parent1a313bf717ef8c535a6952dbc14e6c87195e9e35 (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.kt19
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
}