Example usage for android.support.v4.view.accessibility AccessibilityNodeInfoCompat isEnabled

List of usage examples for android.support.v4.view.accessibility AccessibilityNodeInfoCompat isEnabled

Introduction

In this page you can find the example usage for android.support.v4.view.accessibility AccessibilityNodeInfoCompat isEnabled.

Prototype

public boolean isEnabled() 

Source Link

Document

Gets whether this node is enabled.

Usage

From source file:com.google.android.marvin.mytalkback.speechrules.RuleEditText.java

@Override
public CharSequence getHintText(Context context, AccessibilityNodeInfoCompat node) {
    // Disabled items don't have any hint text.
    if (!node.isEnabled()) {
        return context.getString(R.string.value_disabled);
    }//from w  w  w .  java2 s.  c  o  m

    return NodeHintHelper.getHintString(context, R.string.template_hint_edit_text);
}

From source file:com.android.screenspeak.speechrules.RuleDefault.java

@Override
public CharSequence getHintText(Context context, AccessibilityNodeInfoCompat node) {
    // Disabled actionable items don't have any hint text.
    if (AccessibilityNodeInfoUtils.isActionableForAccessibility(node) && !node.isEnabled()) {
        return context.getString(R.string.value_disabled);
    }/*from   w w  w  .  ja  v a2 s  . co m*/

    return NodeHintHelper.getDefaultHintString(context, node);
}

From source file:com.android.screenspeak.speechrules.RuleEditText.java

@Override
public CharSequence getHintText(Context context, AccessibilityNodeInfoCompat node) {
    // Disabled items don't have any hint text.
    if (!node.isEnabled()) {
        return context.getString(R.string.value_disabled);
    }/*  w ww .j av a2  s  . co  m*/

    final SpannableStringBuilder builder = new SpannableStringBuilder();
    StringBuilderUtils.appendWithSeparator(builder,
            NodeHintHelper.getHintString(context, R.string.template_hint_edit_text));
    final CharSequence defaultHint = NodeHintHelper.getDefaultHintString(context, node);

    if (!TextUtils.isEmpty(defaultHint)) {
        StringBuilderUtils.appendWithSeparator(builder, defaultHint);
    }

    return builder;
}

From source file:com.google.android.marvin.mytalkback.speechrules.RuleDefault.java

@Override
public CharSequence getHintText(Context context, AccessibilityNodeInfoCompat node) {
    // Disabled actionable items don't have any hint text.
    if (AccessibilityNodeInfoUtils.isActionableForAccessibility(node) && !node.isEnabled()) {
        return context.getString(R.string.value_disabled);
    }/*from w w w .  j  a  va2  s  . c om*/

    final SpannableStringBuilder builder = new SpannableStringBuilder();
    final int actions = node.getActions();

    // Don't read both the checkable AND clickable hints!
    if (node.isCheckable()) {
        StringBuilderUtils.appendWithSeparator(builder,
                NodeHintHelper.getHintString(context, R.string.template_hint_checkable));
    } else if (AccessibilityNodeInfoUtils.isClickable(node)) {
        StringBuilderUtils.appendWithSeparator(builder,
                NodeHintHelper.getHintString(context, R.string.template_hint_clickable));
    }

    // Long clickable is long.
    if (AccessibilityNodeInfoUtils.isLongClickable(node)) {
        StringBuilderUtils.appendWithSeparator(builder,
                NodeHintHelper.getHintString(context, R.string.template_hint_long_clickable));
    }

    return builder;
}

From source file:com.android.talkback.speechrules.NodeSpeechRuleProcessor.java

/**
 * Returns hint text for a node./* w  w w .  ja va2  s.  c  om*/
 *
 * @param node The node to provide hint text for.
 * @return The node's hint text.
 */
public CharSequence getHintForNode(AccessibilityNodeInfoCompat node) {
    // Disabled items don't have any hint text.
    if (!node.isEnabled()) {
        return null;
    }

    for (NodeSpeechRule rule : mRules) {
        if ((rule instanceof NodeHintRule) && rule.accept(node, null)) {
            LogUtils.log(this, Log.VERBOSE, "Processing node hint using %s", rule);
            return ((NodeHintRule) rule).getHintText(mContext, node);
        }
    }

    return null;
}

From source file:com.android.screenspeak.speechrules.NodeSpeechRuleProcessor.java

/**
 * Appends meta-data about node's disabled state (if actionable).
 * <p>//from  www . j a  v a2s .com
 * This should only be applied to the root node of a tree.
 */
private void appendRootMetadataToBuilder(AccessibilityNodeInfoCompat node,
        SpannableStringBuilder descriptionBuilder) {
    // Append state for actionable but disabled nodes.
    if (AccessibilityNodeInfoUtils.isActionableForAccessibility(node) && !node.isEnabled()) {
        StringBuilderUtils.appendWithSeparator(descriptionBuilder, mContext.getString(R.string.value_disabled));
    }

    // Append the control's selected state.
    // TODO: Selected had no meaning outside of TabWidget and ListView.
    // if (node.isSelected()) {
    // StringBuilderUtils.appendWithSeparator(descriptionBuilder,
    // mContext.getString(R.string.value_selected));
    // }
}

From source file:com.android.talkback.speechrules.NodeSpeechRuleProcessor.java

/**
 * Appends meta-data about node's disabled state (if actionable).
 * <p>/*from w  w  w.  j a v a2  s  .  co  m*/
 * This should only be applied to the root node of a tree.
 */
private void appendRootMetadataToBuilder(AccessibilityNodeInfoCompat node,
        SpannableStringBuilder descriptionBuilder) {
    // Append state for actionable but disabled nodes.
    if (AccessibilityNodeInfoUtils.isActionableForAccessibility(node) && !node.isEnabled()) {
        StringBuilderUtils.appendWithSeparator(descriptionBuilder, mContext.getString(R.string.value_disabled));
    }

    // Append the control's selected state.
    if (node.isSelected()) {
        StringBuilderUtils.appendWithSeparator(descriptionBuilder, mContext.getString(R.string.value_selected));
    }
}

From source file:com.googlecode.eyesfree.utils.TreeDebug.java

/**
 * Gets a description of the properties of a node.
 *///ww w . j a v a2 s  . c  om
public static CharSequence nodeDebugDescription(AccessibilityNodeInfoCompat node) {
    StringBuilder sb = new StringBuilder();
    sb.append(node.getWindowId());

    if (node.getClassName() != null) {
        appendSimpleName(sb, node.getClassName());
    } else {
        sb.append("??");
    }

    if (!node.isVisibleToUser()) {
        sb.append(":invisible");
    }

    if (node.getText() != null) {
        sb.append(":");
        sb.append(node.getText().toString().trim());
    }

    if (node.getContentDescription() != null) {
        sb.append(":");
        sb.append(node.getContentDescription().toString().trim());
    }

    int actions = node.getActions();
    if (actions != 0) {
        sb.append(":");
        if ((actions & AccessibilityNodeInfoCompat.ACTION_FOCUS) != 0) {
            sb.append("F");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS) != 0) {
            sb.append("A");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS) != 0) {
            sb.append("a");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD) != 0) {
            sb.append("-");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD) != 0) {
            sb.append("+");
        }
    }

    if (node.isCheckable()) {
        sb.append(":");
        if (node.isChecked()) {
            sb.append("(X)");
        } else {
            sb.append("( )");
        }
    }

    if (node.isFocusable()) {
        sb.append(":focusable");
    }

    if (node.isFocused()) {
        sb.append(":focused");
    }

    if (node.isSelected()) {
        sb.append(":selected");
    }

    if (node.isClickable()) {
        sb.append(":clickable");
    }

    if (node.isLongClickable()) {
        sb.append(":longClickable");
    }

    if (node.isAccessibilityFocused()) {
        sb.append(":accessibilityFocused");
    }

    if (!node.isEnabled()) {
        sb.append(":disabled");
    }

    return sb.toString();
}

From source file:com.android.utils.TreeDebug.java

/**
 * Gets a description of the properties of a node.
 *//*from ww  w  .j  a v a 2 s.  co m*/
private static CharSequence nodeDebugDescription(AccessibilityNodeInfoCompat node) {
    StringBuilder sb = new StringBuilder();
    sb.append(node.getWindowId());

    if (node.getClassName() != null) {
        appendSimpleName(sb, node.getClassName());
    } else {
        sb.append("??");
    }

    if (!node.isVisibleToUser()) {
        sb.append(":invisible");
    }

    Rect rect = new Rect();
    node.getBoundsInScreen(rect);
    sb.append(":");
    sb.append("(").append(rect.left).append(", ").append(rect.top).append(" - ").append(rect.right).append(", ")
            .append(rect.bottom).append(")");

    if (node.getText() != null) {
        sb.append(":");
        sb.append(node.getText().toString().trim());
    }

    if (node.getContentDescription() != null) {
        sb.append(":");
        sb.append(node.getContentDescription().toString().trim());
    }

    int actions = node.getActions();
    if (actions != 0) {
        sb.append(":");
        if ((actions & AccessibilityNodeInfoCompat.ACTION_FOCUS) != 0) {
            sb.append("F");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS) != 0) {
            sb.append("A");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS) != 0) {
            sb.append("a");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD) != 0) {
            sb.append("-");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_CLICK) != 0) {
            sb.append("C");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_LONG_CLICK) != 0) {
            sb.append("L");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD) != 0) {
            sb.append("+");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_EXPAND) != 0) {
            sb.append("e");
        }
        if ((actions & AccessibilityNodeInfoCompat.ACTION_COLLAPSE) != 0) {
            sb.append("c");
        }
    }

    if (node.isCheckable()) {
        sb.append(":");
        if (node.isChecked()) {
            sb.append("(X)");
        } else {
            sb.append("( )");
        }
    }

    if (node.isFocusable()) {
        sb.append(":focusable");
    }

    if (node.isFocused()) {
        sb.append(":focused");
    }

    if (node.isSelected()) {
        sb.append(":selected");
    }

    if (node.isClickable()) {
        sb.append(":clickable");
    }

    if (node.isLongClickable()) {
        sb.append(":longClickable");
    }

    if (node.isAccessibilityFocused()) {
        sb.append(":accessibilityFocused");
    }

    if (!node.isEnabled()) {
        sb.append(":disabled");
    }

    if (node.getCollectionInfo() != null) {
        sb.append(":collection");
        sb.append("#R");
        sb.append(node.getCollectionInfo().getRowCount());
        sb.append("C");
        sb.append(node.getCollectionInfo().getColumnCount());
    }

    if (node.getCollectionItemInfo() != null) {
        if (node.getCollectionItemInfo().isHeading()) {
            sb.append(":heading");
        } else {
            sb.append(":item");
        }

        sb.append("#r");
        sb.append(node.getCollectionItemInfo().getRowIndex());
        sb.append("c");
        sb.append(node.getCollectionItemInfo().getColumnIndex());
    }

    return sb.toString();
}