public static boolean getIgnored()

in stetho/src/main/java/com/facebook/stetho/inspector/elements/android/AccessibilityNodeInfoWrapper.java [42:89]


  public static boolean getIgnored(View view) {
    int important = ViewCompat.getImportantForAccessibility(view);
    if (important == ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO ||
        important == ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS) {
      return true;
    }

    // Go all the way up the tree to make sure no parent has hidden its descendants
    ViewParent parent = view.getParent();
    while (parent instanceof View) {
      if (ViewCompat.getImportantForAccessibility((View) parent)
          == ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS) {
        return true;
      }
      parent = parent.getParent();
    }

    AccessibilityNodeInfoCompat node = createNodeInfoFromView(view);
    try {
      if (!node.isVisibleToUser()) {
        return true;
      }

      if (AccessibilityUtil.isAccessibilityFocusable(node, view)) {
        if (node.getChildCount() <= 0) {
          // Leaves that are accessibility focusable are never ignored, even if they don't have a
          // speakable description
          return false;
        } else if (AccessibilityUtil.isSpeakingNode(node, view)) {
          // Node is focusable and has something to speak
          return false;
        }

        // Node is focusable and has nothing to speak
        return true;
      }

      // If this node has no focusable ancestors, but it still has text,
      // then it should receive focus from navigation and be read aloud.
      if (!AccessibilityUtil.hasFocusableAncestor(node, view) && AccessibilityUtil.hasText(node)) {
        return false;
      }

      return true;
    } finally {
      node.recycle();
    }
  }