Merge "Resolving duplicate “Fingerprint Sensor” talkback in Side-FPS SUW" into tm-dev am: 837443e700

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17338703

Change-Id: I727ccb6b20420bf0d23aef1a590e017d925f53a9
Signed-off-by: Automerger Merge Worker
This commit is contained in:
Grace Cheng
2022-03-24 21:02:22 +00:00
committed by Automerger Merge Worker

View File

@@ -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
}