public static boolean hasFocusableAncestor()

in stetho/src/main/java/com/facebook/stetho/common/android/AccessibilityUtil.java [230:260]


  public static boolean hasFocusableAncestor(
      @Nullable AccessibilityNodeInfoCompat node,
      @Nullable View view) {
    if (node == null || view == null) {
      return false;
    }

    ViewParent parentView = ViewCompat.getParentForAccessibility(view);
    if (!(parentView instanceof View)) {
      return false;
    }

    AccessibilityNodeInfoCompat parentNode = AccessibilityNodeInfoCompat.obtain();
    try {
      ViewCompat.onInitializeAccessibilityNodeInfo((View) parentView, parentNode);
      if (parentNode == null) {
        return false;
      }

      if (isAccessibilityFocusable(parentNode, (View) parentView)) {
        return true;
      }

      if (hasFocusableAncestor(parentNode, (View) parentView)) {
        return true;
      }
    } finally {
      parentNode.recycle();
    }
    return false;
  }