List of usage examples for android.support.v4.view.accessibility AccessibilityNodeInfoCompat isEnabled
public boolean isEnabled()
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(); }