summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2017-11-15 20:15:25 -0800
committerEugene Susla <eugenesusla@google.com>2017-11-28 17:58:38 -0800
commit8ddfb4794f128ad6ac10fed72c73fdec61ea7bcb (patch)
tree21d23dd06d8bf7600fbc2c0389f7165de26cca6b /core/java/android/widget/TextView.java
parente4cf6bf4745754615b19d95a90d809889c5e4b43 (diff)
Don't generate irrelevant a11y events - framework
Now before we fire an a11y event we check if this event has an observer. As a bonus we don't push the state to clients if the dynamic service config did not change. Test: cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases bug:69427760 Change-Id: Ie208e13b8557bb7a120198a43efcb79c2752f5db
Diffstat (limited to 'core/java/android/widget/TextView.java')
-rw-r--r--core/java/android/widget/TextView.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index d9bc51fffd6a..71532a72d7b4 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -10836,6 +10836,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
void sendAccessibilityEventTypeViewTextChanged(CharSequence beforeText,
int fromIndex, int removedCount, int addedCount) {
+ if (!AccessibilityManager.getInstance(mContext).isObservedEventType(
+ AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED)) {
+ return;
+ }
AccessibilityEvent event =
AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
event.setFromIndex(fromIndex);