Only add accessibility actions in Overview if not in select mode
When modalness is >0, the user is in select mode and the icon menu is
hidden, therefore Talkback shouldn't pick it up.
Fix: 320203664
Flag: NONE bugfix
Test: Manual. Turn Talkback on, navigate to Overview, enter select mode,
select the whole TaskView, Talkback shouldn't have any accessibility
actions to execute.
Change-Id: I83dffce60f42cc32d83c499dfb08ddf97888f527
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.kt b/quickstep/src/com/android/quickstep/views/TaskView.kt
index 28ecf96..0760618 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.kt
+++ b/quickstep/src/com/android/quickstep/views/TaskView.kt
@@ -636,24 +636,29 @@
override fun onInitializeAccessibilityNodeInfo(info: AccessibilityNodeInfo) {
super.onInitializeAccessibilityNodeInfo(info)
with(info) {
- addAction(
- AccessibilityAction(
- R.id.action_close,
- context.getText(R.string.accessibility_close),
+ // Only make actions available if the app icon menu is visible to the user.
+ // When modalness is >0, the user is in select mode and the icon menu is hidden.
+ if (modalness == 0f) {
+ addAction(
+ AccessibilityAction(
+ R.id.action_close,
+ context.getText(R.string.accessibility_close),
+ )
)
- )
- taskContainers.forEach {
- TraceHelper.allowIpcs("TV.a11yInfo") {
- TaskOverlayFactory.getEnabledShortcuts(this@TaskView, it).forEach { shortcut ->
- addAction(shortcut.createAccessibilityAction(context))
+ taskContainers.forEach {
+ TraceHelper.allowIpcs("TV.a11yInfo") {
+ TaskOverlayFactory.getEnabledShortcuts(this@TaskView, it).forEach { shortcut
+ ->
+ addAction(shortcut.createAccessibilityAction(context))
+ }
}
}
- }
- // Add DWB accessibility action at the end of the list
- taskContainers.forEach {
- it.digitalWellBeingToast?.getDWBAccessibilityAction()?.let(::addAction)
+ // Add DWB accessibility action at the end of the list
+ taskContainers.forEach {
+ it.digitalWellBeingToast?.getDWBAccessibilityAction()?.let(::addAction)
+ }
}
recentsView?.let {