Merge "Checks viewId's nullibility before findA11yNodeInfos" into sc-dev

This commit is contained in:
Lucy Chang
2021-03-03 02:05:00 +00:00
committed by Android (Google) Code Review
3 changed files with 8 additions and 3 deletions

View File

@@ -50067,7 +50067,7 @@ package android.view.accessibility {
method public boolean canOpenPopup();
method public int describeContents();
method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String);
method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(String);
method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(@NonNull String);
method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
method public android.view.accessibility.AccessibilityNodeInfo focusSearch(int);
method public java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> getActionList();

View File

@@ -436,7 +436,8 @@ public final class AccessibilityInteractionController {
final List<AccessibilityNodeInfo> infos = mTempAccessibilityNodeInfoList;
infos.clear();
try {
if (mViewRootImpl.mView == null || mViewRootImpl.mAttachInfo == null) {
if (mViewRootImpl.mView == null || mViewRootImpl.mAttachInfo == null
|| viewId == null) {
return;
}
mViewRootImpl.mAttachInfo.mAccessibilityFetchFlags = flags;

View File

@@ -1781,8 +1781,12 @@ public class AccessibilityNodeInfo implements Parcelable {
* @param viewId The fully qualified resource name of the view id to find.
* @return A list of node info.
*/
public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(String viewId) {
public List<AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(@NonNull String viewId) {
enforceSealed();
if (viewId == null) {
Log.e(TAG, "returns empty list due to null viewId.");
return Collections.emptyList();
}
if (!canPerformRequestOverConnection(mConnectionId, mWindowId, mSourceNodeId)) {
return Collections.emptyList();
}