am bd8db7b1: am daeee005: am 16f3a714: am 5cdfd3ac: am 7c20fcc8: Merge "Accessibility node provider getting invalid virtual view id." into lmp-dev
* commit 'bd8db7b1026542a7b53845b59ef302c95f4c6c24': Accessibility node provider getting invalid virtual view id.
This commit is contained in:
@@ -6096,8 +6096,15 @@ public final class ViewRootImpl implements ViewParent,
|
||||
if (source != null) {
|
||||
AccessibilityNodeProvider provider = source.getAccessibilityNodeProvider();
|
||||
if (provider != null) {
|
||||
AccessibilityNodeInfo node = provider.createAccessibilityNodeInfo(
|
||||
AccessibilityNodeInfo.getVirtualDescendantId(sourceNodeId));
|
||||
final int virtualNodeId = AccessibilityNodeInfo.getVirtualDescendantId(
|
||||
sourceNodeId);
|
||||
final AccessibilityNodeInfo node;
|
||||
if (virtualNodeId == AccessibilityNodeInfo.UNDEFINED_ITEM_ID) {
|
||||
node = provider.createAccessibilityNodeInfo(
|
||||
AccessibilityNodeProvider.HOST_VIEW_ID);
|
||||
} else {
|
||||
node = provider.createAccessibilityNodeInfo(virtualNodeId);
|
||||
}
|
||||
setAccessibilityFocus(source, node);
|
||||
}
|
||||
}
|
||||
@@ -6135,8 +6142,14 @@ public final class ViewRootImpl implements ViewParent,
|
||||
if (provider != null) {
|
||||
final int virtualChildId = AccessibilityNodeInfo.getVirtualDescendantId(
|
||||
mAccessibilityFocusedVirtualView.getSourceNodeId());
|
||||
mAccessibilityFocusedVirtualView = provider.createAccessibilityNodeInfo(
|
||||
virtualChildId);
|
||||
if (virtualChildId == AccessibilityNodeInfo.UNDEFINED_ITEM_ID) {
|
||||
mAccessibilityFocusedVirtualView = provider
|
||||
.createAccessibilityNodeInfo(
|
||||
AccessibilityNodeProvider.HOST_VIEW_ID);
|
||||
} else {
|
||||
mAccessibilityFocusedVirtualView = provider
|
||||
.createAccessibilityNodeInfo(virtualChildId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user