public static boolean hasNonActionableSpeakingDescendants()

in stetho/src/main/java/com/facebook/stetho/common/android/AccessibilityUtil.java [91:124]


  public static boolean hasNonActionableSpeakingDescendants(
      @Nullable AccessibilityNodeInfoCompat node,
      @Nullable View view) {

    if (node == null || view == null || !(view instanceof ViewGroup)) {
      return false;
    }

    ViewGroup viewGroup = (ViewGroup) view;
    for (int i = 0, count = viewGroup.getChildCount(); i < count; i++) {
      View childView = viewGroup.getChildAt(i);

      if (childView == null) {
        continue;
      }

      AccessibilityNodeInfoCompat childNode = AccessibilityNodeInfoCompat.obtain();
      try {
        ViewCompat.onInitializeAccessibilityNodeInfo(childView, childNode);

        if (isAccessibilityFocusable(childNode, childView)) {
          continue;
        }

        if (isSpeakingNode(childNode, childView)) {
          return true;
        }
      } finally {
        childNode.recycle();
      }
    }

    return false;
  }