Search in sources :

Example 1 with AccessibilityActionCompat

use of android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat in project stetho by facebook.

the class AccessibilityNodeInfoWrapper method getActions.

@Nullable
public static String getActions(View view) {
    AccessibilityNodeInfoCompat node = createNodeInfoFromView(view);
    try {
        final StringBuilder actionLabels = new StringBuilder();
        final String separator = ", ";
        for (AccessibilityActionCompat action : node.getActionList()) {
            if (actionLabels.length() > 0) {
                actionLabels.append(separator);
            }
            switch(action.getId()) {
                case AccessibilityNodeInfoCompat.ACTION_FOCUS:
                    actionLabels.append("focus");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_CLEAR_FOCUS:
                    actionLabels.append("clear-focus");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_SELECT:
                    actionLabels.append("select");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_CLEAR_SELECTION:
                    actionLabels.append("clear-selection");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_CLICK:
                    actionLabels.append("click");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_LONG_CLICK:
                    actionLabels.append("long-click");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS:
                    actionLabels.append("accessibility-focus");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS:
                    actionLabels.append("clear-accessibility-focus");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_NEXT_AT_MOVEMENT_GRANULARITY:
                    actionLabels.append("next-at-movement-granularity");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY:
                    actionLabels.append("previous-at-movement-granularity");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_NEXT_HTML_ELEMENT:
                    actionLabels.append("next-html-element");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_PREVIOUS_HTML_ELEMENT:
                    actionLabels.append("previous-html-element");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD:
                    actionLabels.append("scroll-forward");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD:
                    actionLabels.append("scroll-backward");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_CUT:
                    actionLabels.append("cut");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_COPY:
                    actionLabels.append("copy");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_PASTE:
                    actionLabels.append("paste");
                    break;
                case AccessibilityNodeInfoCompat.ACTION_SET_SELECTION:
                    actionLabels.append("set-selection");
                    break;
                default:
                    CharSequence label = action.getLabel();
                    if (label != null) {
                        actionLabels.append(label);
                    } else {
                        actionLabels.append("unknown");
                    }
                    break;
            }
        }
        return actionLabels.length() > 0 ? actionLabels.toString() : null;
    } finally {
        node.recycle();
    }
}
Also used : AccessibilityNodeInfoCompat(android.support.v4.view.accessibility.AccessibilityNodeInfoCompat) AccessibilityActionCompat(android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat) Nullable(android.support.annotation.Nullable)

Aggregations

Nullable (android.support.annotation.Nullable)1 AccessibilityNodeInfoCompat (android.support.v4.view.accessibility.AccessibilityNodeInfoCompat)1 AccessibilityActionCompat (android.support.v4.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat)1