private static boolean nodeHasSupportedAction(SwitchAccessNodeCompat node) { List<AccessibilityNodeInfoCompat.AccessibilityActionCompat> actions = node.getActionList(); for (AccessibilityNodeInfoCompat.AccessibilityActionCompat action : actions) { if (SUPPORTED_ACTIONS.contains(action.getId())) { return true; } } return false; }
/** * Get the actions associated with the given compat node. * * @param compat The node whose actions should be obtained. * @return A list of {@code AccessibilityNodeActionNodes}, representing all the actions associated * with the specified node. If no actions are associated with the node, an empty list is * returned. */ public static List<AccessibilityNodeActionNode> getCompatActionNodes( final SwitchAccessNodeCompat compat) { if (!compat.isVisibleToUser()) { return new ArrayList<>(0); } List<AccessibilityNodeActionNode> actionNodes = new ArrayList<>(); List<AccessibilityNodeInfoCompat.AccessibilityActionCompat> actions = compat.getActionList(); for (AccessibilityNodeInfoCompat.AccessibilityActionCompat action : actions) { if (SUPPORTED_ACTIONS.contains(action.getId())) { actionNodes.add(new AccessibilityNodeActionNode(compat, action)); } } return actionNodes; }