Merge "Use TaskViews only for RecentsView CollectionInfo" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
54cc5efead
@@ -5889,36 +5889,19 @@ public abstract class RecentsView<
|
||||
|
||||
@Override
|
||||
public void addChildrenForAccessibility(ArrayList<View> outChildren) {
|
||||
outChildren.addAll(getAccessibilityChildren());
|
||||
}
|
||||
|
||||
public List<View> getAccessibilityChildren() {
|
||||
return mUtils.getAccessibilityChildren();
|
||||
outChildren.addAll(mUtils.getAccessibilityChildren());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
|
||||
super.onInitializeAccessibilityNodeInfo(info);
|
||||
// We only care about TaskView's for the `CollectionInfo` that Talkback uses to read out.
|
||||
final AccessibilityNodeInfo.CollectionInfo
|
||||
collectionInfo = new AccessibilityNodeInfo.CollectionInfo(
|
||||
1, getAccessibilityChildren().size(), false);
|
||||
1, getTaskViewCount(), false);
|
||||
info.setCollectionInfo(collectionInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
|
||||
super.onInitializeAccessibilityEvent(event);
|
||||
event.setScrollable(hasTaskViews());
|
||||
|
||||
if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_SCROLLED) {
|
||||
final List<View> accessibilityChildren = getAccessibilityChildren();
|
||||
final int[] visibleTasks = getVisibleChildrenRange();
|
||||
event.setFromIndex(accessibilityChildren.indexOf(getChildAt(visibleTasks[1])));
|
||||
event.setToIndex(accessibilityChildren.indexOf(getChildAt(visibleTasks[0])));
|
||||
event.setItemCount(accessibilityChildren.size());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getAccessibilityClassName() {
|
||||
// To hear position-in-list related feedback from Talkback.
|
||||
|
||||
@@ -755,7 +755,9 @@ constructor(
|
||||
AccessibilityNodeInfo.CollectionItemInfo(
|
||||
0,
|
||||
1,
|
||||
it.getAccessibilityChildren().indexOf(this@TaskView),
|
||||
// We only care about TaskView's for the `CollectionInfo` that Talkback uses
|
||||
// to read out.
|
||||
it.taskViews.reversed().indexOf(this@TaskView),
|
||||
1,
|
||||
false,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user