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:
Svetoslav
2014-09-29 19:46:17 +00:00
committed by Android Git Automerger

View File

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