List of usage examples for android.view.accessibility AccessibilityEvent getItemCount
public int getItemCount()
From source file:com.android.screenspeak.eventprocessor.ProcessorScrollPosition.java
private CharSequence getDescriptionForScrollEvent(AccessibilityEvent event) { // If the event has text, use that by default. final CharSequence text = AccessibilityEventUtils.getEventTextOrDescription(event); if (!TextUtils.isEmpty(text)) { return text; }/*from ww w . j a va 2s . c om*/ // If the from index or item count are invalid, don't announce anything. final int fromIndex = (event.getFromIndex() + 1); final int itemCount = event.getItemCount(); if ((fromIndex <= 0) || (itemCount <= 0)) { return null; } // If the to and from indices are the same, or if the to index is // invalid, only announce the item at the from index. final int toIndex = event.getToIndex() + 1; if ((fromIndex == toIndex) || (toIndex <= 0) || (toIndex > itemCount)) { return mContext.getString(R.string.template_scroll_from_count, fromIndex, itemCount); } // Announce the range of visible items. return mContext.getString(R.string.template_scroll_from_to_count, fromIndex, toIndex, itemCount); }
From source file:com.google.android.marvin.mytalkback.ProcessorScrollPosition.java
private CharSequence getDescriptionForScrollEvent(AccessibilityEvent event) { // If the event has text, use that by default. final CharSequence text = AccessibilityEventUtils.getEventTextOrDescription(event); if (!TextUtils.isEmpty(text)) { return text; }/*from ww w .jav a 2s .c o m*/ // If the from index or item count are invalid, don't announce anything. final int fromIndex = (event.getFromIndex() + 1); final int itemCount = event.getItemCount(); if ((fromIndex < 0) || (itemCount <= 0)) { return null; } // If the to and from indices are the same, or if the to index is // invalid, only announce the item at the from index. final int toIndex = (AccessibilityEventCompatUtils.getToIndex(event) + 1); if ((fromIndex == toIndex) || (toIndex <= 0) || (toIndex > itemCount)) { return mContext.getString(R.string.template_scroll_from_count, fromIndex, itemCount); } // Announce the range of visible items. return mContext.getString(R.string.template_scroll_from_to_count, fromIndex, toIndex, itemCount); }
From source file:com.android.screenspeak.speechrules.RuleSeekBar.java
@Override public CharSequence format(Context context, AccessibilityNodeInfoCompat node, AccessibilityEvent event) { if (node == null || !node.isAccessibilityFocused()) { return ""; }// w w w.j av a 2s . co m final SpannableStringBuilder output = new SpannableStringBuilder(); final CharSequence text = super.format(context, node, event); final String formattedText = context.getString(R.string.template_seek_bar, text); final Spannable spannableFormattedText = StringBuilderUtils .createSpannableFromTextWithTemplate(formattedText, text); StringBuilderUtils.appendWithSeparator(output, spannableFormattedText); // TODO: We need to be getting this information from the node. if ((event != null) && (event.getItemCount() > 0)) { final int percent = (100 * event.getCurrentItemIndex()) / event.getItemCount(); final CharSequence formattedPercent = context.getString(R.string.template_percent, percent); StringBuilderUtils.appendWithSeparator(output, formattedPercent); } return output; }
From source file:com.google.android.marvin.mytalkback.ProcessorScrollPosition.java
private CharSequence getDescriptionForSeekEvent(AccessibilityEvent event) { // If the event has text, use that by default. final CharSequence text = AccessibilityEventUtils.getEventTextOrDescription(event); if (!TextUtils.isEmpty(text)) { return text; }/*from w w w. j a va 2 s . c o m*/ // If the current index or item count are invalid, don't announce anything. final int currentItemIndex = event.getCurrentItemIndex(); final int itemCount = event.getItemCount(); if ((currentItemIndex < 0) || (currentItemIndex > itemCount)) { return null; } // Announce the percentage. final int percentage = (100 * currentItemIndex / itemCount); return mContext.getString(R.string.template_percent, percentage); }
From source file:Main.java
/** * @return If the <code>first</code> event is equal to the <code>second</code>. *///from w w w . j a v a 2 s .c om public static boolean eventEquals(AccessibilityEvent first, AccessibilityEvent second) { // TODO: The framework should implement AccessibilityEvent#equals() if (first == null || second == null) { return false; } if (first.getEventType() != second.getEventType()) { return false; } if (first.getPackageName() == null) { if (second.getPackageName() != null) { return false; } } else if (!first.getPackageName().equals(second.getPackageName())) { return false; } if (first.getClassName() == null) { if (second.getClassName() != null) { return false; } } else if (!first.getClassName().equals(second.getClassName())) { return false; } if (!first.getText().equals(second.getText())) { // The result of getText() is never null. return false; } if (first.getContentDescription() == null) { if (second.getContentDescription() != null) { return false; } } else if (!first.getContentDescription().equals(second.getContentDescription())) { return false; } if (first.getBeforeText() == null) { if (second.getBeforeText() != null) { return false; } } else if (!first.getBeforeText().equals(second.getBeforeText())) { return false; } if (first.getParcelableData() != null) { // Parcelable data may not implement equals() correctly. return false; } if (first.getAddedCount() != second.getAddedCount()) { return false; } if (first.isChecked() != second.isChecked()) { return false; } if (first.isEnabled() != second.isEnabled()) { return false; } if (first.getFromIndex() != second.getFromIndex()) { return false; } if (first.isFullScreen() != second.isFullScreen()) { return false; } if (first.getCurrentItemIndex() != second.getCurrentItemIndex()) { return false; } if (first.getItemCount() != second.getItemCount()) { return false; } if (first.isPassword() != second.isPassword()) { return false; } if (first.getRemovedCount() != second.getRemovedCount()) { return false; } if (first.getEventTime() != second.getEventTime()) { return false; } return true; }
From source file:com.android.screenspeak.formatter.EventSpeechRule.java
/** * Returns the value of a given <code>property</code> of an <code>event</code>. * * @param property The property/*from ww w. j a v a 2 s . c o m*/ * @param event The event. * @return the value. */ private Object getPropertyValue(Context context, String property, AccessibilityEvent event) { final AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event); if (property == null) { throw new IllegalArgumentException("Unknown property : " + property); } // TODO(AV): Don't do so many string comparisons here. switch (property) { case PROPERTY_EVENT_TYPE: return event.getEventType(); case PROPERTY_PACKAGE_NAME: return event.getPackageName(); case PROPERTY_CLASS_NAME: return event.getClassName(); case PROPERTY_CLASS_NAME_STRICT: return event.getClassName(); case PROPERTY_TEXT: return AccessibilityEventUtils.getEventAggregateText(event); case PROPERTY_BEFORE_TEXT: return event.getBeforeText(); case PROPERTY_CONTENT_DESCRIPTION: return event.getContentDescription(); case PROPERTY_CONTENT_DESCRIPTION_OR_TEXT: return AccessibilityEventUtils.getEventTextOrDescription(event); case PROPERTY_NODE_DESCRIPTION_OR_FALLBACK: return getNodeDescriptionOrFallback(event); case PROPERTY_EVENT_TIME: return event.getEventTime(); case PROPERTY_ITEM_COUNT: return event.getItemCount(); case PROPERTY_CURRENT_ITEM_INDEX: return event.getCurrentItemIndex(); case PROPERTY_FROM_INDEX: return event.getFromIndex(); case PROPERTY_TO_INDEX: return record.getToIndex(); case PROPERTY_SCROLLABLE: return record.isScrollable(); case PROPERTY_SCROLL_X: return record.getScrollX(); case PROPERTY_SCROLL_Y: return record.getScrollY(); case PROPERTY_RECORD_COUNT: return AccessibilityEventCompat.getRecordCount(event); case PROPERTY_CHECKED: return event.isChecked(); case PROPERTY_ENABLED: return event.isEnabled(); case PROPERTY_FULL_SCREEN: return event.isFullScreen(); case PROPERTY_PASSWORD: return event.isPassword(); case PROPERTY_ADDED_COUNT: return event.getAddedCount(); case PROPERTY_REMOVED_COUNT: return event.getRemovedCount(); case PROPERTY_VERSION_CODE: return PackageManagerUtils.getVersionCode(context, event.getPackageName()); case PROPERTY_VERSION_NAME: return PackageManagerUtils.getVersionName(context, event.getPackageName()); case PROPERTY_PLATFORM_RELEASE: return Build.VERSION.RELEASE; case PROPERTY_PLATFORM_SDK: return Build.VERSION.SDK_INT; default: throw new IllegalArgumentException("Unknown property : " + property); } }
From source file:com.android.talkback.formatter.EventSpeechRule.java
/** * Returns the value of a given <code>property</code> of an <code>event</code>. * * @param property The property/*from www .j av a 2 s. com*/ * @param event The event. * @return the value. */ private Object getPropertyValue(Context context, String property, AccessibilityEvent event) { final AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event); if (property == null) { throw new IllegalArgumentException("Unknown property : " + property); } // TODO: Don't do so many string comparisons here. switch (property) { case PROPERTY_EVENT_TYPE: return event.getEventType(); case PROPERTY_PACKAGE_NAME: return event.getPackageName(); case PROPERTY_CLASS_NAME: return event.getClassName(); case PROPERTY_CLASS_NAME_STRICT: return event.getClassName(); case PROPERTY_TEXT: return AccessibilityEventUtils.getEventAggregateText(event); case PROPERTY_BEFORE_TEXT: return event.getBeforeText(); case PROPERTY_CONTENT_DESCRIPTION: return event.getContentDescription(); case PROPERTY_CONTENT_DESCRIPTION_OR_TEXT: return AccessibilityEventUtils.getEventTextOrDescription(event); case PROPERTY_NODE_DESCRIPTION_OR_FALLBACK: return getNodeDescriptionOrFallback(event); case PROPERTY_EVENT_TIME: return event.getEventTime(); case PROPERTY_ITEM_COUNT: return event.getItemCount(); case PROPERTY_CURRENT_ITEM_INDEX: return event.getCurrentItemIndex(); case PROPERTY_FROM_INDEX: return event.getFromIndex(); case PROPERTY_TO_INDEX: return record.getToIndex(); case PROPERTY_SCROLLABLE: return record.isScrollable(); case PROPERTY_SCROLL_X: return record.getScrollX(); case PROPERTY_SCROLL_Y: return record.getScrollY(); case PROPERTY_RECORD_COUNT: return AccessibilityEventCompat.getRecordCount(event); case PROPERTY_CHECKED: return event.isChecked(); case PROPERTY_ENABLED: return event.isEnabled(); case PROPERTY_FULL_SCREEN: return event.isFullScreen(); case PROPERTY_PASSWORD: return event.isPassword(); case PROPERTY_ADDED_COUNT: return event.getAddedCount(); case PROPERTY_REMOVED_COUNT: return event.getRemovedCount(); case PROPERTY_VERSION_CODE: return PackageManagerUtils.getVersionCode(context, event.getPackageName()); case PROPERTY_VERSION_NAME: return PackageManagerUtils.getVersionName(context, event.getPackageName()); case PROPERTY_PLATFORM_RELEASE: return Build.VERSION.RELEASE; case PROPERTY_PLATFORM_SDK: return Build.VERSION.SDK_INT; default: throw new IllegalArgumentException("Unknown property : " + property); } }
From source file:com.google.android.marvin.mytalkback.formatter.EventSpeechRule.java
/** * Returns the value of a given <code>property</code> of an <code>event</code>. * * @param property The property/*from w w w. j av a 2 s . co m*/ * @param event The event. * @return the value. */ private Object getPropertyValue(Context context, String property, AccessibilityEvent event) { final AccessibilityRecordCompat record = new AccessibilityRecordCompat(event); // TODO(alanv): Don't do so many string comparisons here. if (PROPERTY_EVENT_TYPE.equals(property)) { return event.getEventType(); } else if (PROPERTY_PACKAGE_NAME.equals(property)) { return event.getPackageName(); } else if (PROPERTY_CLASS_NAME.equals(property)) { return event.getClassName(); } else if (PROPERTY_CLASS_NAME_STRICT.equals(property)) { return event.getClassName(); } else if (PROPERTY_TEXT.equals(property)) { return AccessibilityEventUtils.getEventAggregateText(event); } else if (PROPERTY_BEFORE_TEXT.equals(property)) { return event.getBeforeText(); } else if (PROPERTY_CONTENT_DESCRIPTION.equals(property)) { return event.getContentDescription(); } else if (PROPERTY_CONTENT_DESCRIPTION_OR_TEXT.equals(property)) { return AccessibilityEventUtils.getEventTextOrDescription(event); } else if (PROPERTY_NODE_DESCRIPTION_OR_FALLBACK.equals(property)) { return getNodeDescriptionOrFallback(event); } else if (PROPERTY_EVENT_TIME.equals(property)) { return event.getEventTime(); } else if (PROPERTY_ITEM_COUNT.equals(property)) { return event.getItemCount(); } else if (PROPERTY_CURRENT_ITEM_INDEX.equals(property)) { return event.getCurrentItemIndex(); } else if (PROPERTY_FROM_INDEX.equals(property)) { return event.getFromIndex(); } else if (PROPERTY_TO_INDEX.equals(property)) { return record.getToIndex(); } else if (PROPERTY_SCROLLABLE.equals(property)) { return record.isScrollable(); } else if (PROPERTY_SCROLL_X.equals(property)) { return record.getScrollX(); } else if (PROPERTY_SCROLL_Y.equals(property)) { return record.getScrollY(); } else if (PROPERTY_RECORD_COUNT.equals(property)) { return AccessibilityEventCompat.getRecordCount(event); } else if (PROPERTY_CHECKED.equals(property)) { return event.isChecked(); } else if (PROPERTY_ENABLED.equals(property)) { return event.isEnabled(); } else if (PROPERTY_FULL_SCREEN.equals(property)) { return event.isFullScreen(); } else if (PROPERTY_PASSWORD.equals(property)) { return event.isPassword(); } else if (PROPERTY_ADDED_COUNT.equals(property)) { return event.getAddedCount(); } else if (PROPERTY_REMOVED_COUNT.equals(property)) { return event.getRemovedCount(); } else if (PROPERTY_VERSION_CODE.equals(property)) { return PackageManagerUtils.getVersionCode(context, event.getPackageName()); } else if (PROPERTY_VERSION_NAME.equals(property)) { return PackageManagerUtils.getVersionName(context, event.getPackageName()); } else if (PROPERTY_PLATFORM_RELEASE.equals(property)) { return Build.VERSION.RELEASE; } else if (PROPERTY_PLATFORM_SDK.equals(property)) { return Build.VERSION.SDK_INT; } else { throw new IllegalArgumentException("Unknown property : " + property); } }