diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-01-11 22:57:35 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-01-11 22:57:35 +0000 |
| commit | 0b2249786f438b3c3f16dfff5bcf6fb50e10ece2 (patch) | |
| tree | 5addf476381b3ea6f0cf6191764b1b2046a3ad8a /core/java/android/view/ViewGroup.java | |
| parent | d9ca4189c1e9cde8ce2ade4eb2a1a2dbc07f39be (diff) | |
| parent | e4d31b3c103045d5b2b141a05084dced595cc64f (diff) | |
Merge "Move A11y events throttling away from View(RootImpl)"
Diffstat (limited to 'core/java/android/view/ViewGroup.java')
| -rw-r--r-- | core/java/android/view/ViewGroup.java | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 703364f126d8..e0864bd5d72a 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -3646,44 +3646,34 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager return ViewGroup.class.getName(); } - @Override - public void notifySubtreeAccessibilityStateChanged(View child, View source, int changeType) { - // If this is a live region, we should send a subtree change event - // from this view. Otherwise, we can let it propagate up. - if (getAccessibilityLiveRegion() != ACCESSIBILITY_LIVE_REGION_NONE) { - notifyViewAccessibilityStateChangedIfNeeded( - AccessibilityEvent.CONTENT_CHANGE_TYPE_SUBTREE); - } else if (mParent != null) { - try { - mParent.notifySubtreeAccessibilityStateChanged(this, source, changeType); - } catch (AbstractMethodError e) { - Log.e(VIEW_LOG_TAG, mParent.getClass().getSimpleName() + - " does not fully implement ViewParent", e); - } - } - } - /** @hide */ @Override - public void notifySubtreeAccessibilityStateChangedIfNeeded() { + public void notifyAccessibilitySubtreeChanged() { if (!AccessibilityManager.getInstance(mContext).isEnabled() || mAttachInfo == null) { return; } // If something important for a11y is happening in this subtree, make sure it's dispatched // from a view that is important for a11y so it doesn't get lost. - if ((getImportantForAccessibility() != IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS) - && !isImportantForAccessibility() && (getChildCount() > 0)) { + if (getImportantForAccessibility() != IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS + && !isImportantForAccessibility() + && getChildCount() > 0) { ViewParent a11yParent = getParentForAccessibility(); if (a11yParent instanceof View) { - ((View) a11yParent).notifySubtreeAccessibilityStateChangedIfNeeded(); + ((View) a11yParent).notifyAccessibilitySubtreeChanged(); return; } } - super.notifySubtreeAccessibilityStateChangedIfNeeded(); + super.notifyAccessibilitySubtreeChanged(); } @Override - void resetSubtreeAccessibilityStateChanged() { + public void notifySubtreeAccessibilityStateChanged(View child, View source, int changeType) { + notifyAccessibilityStateChanged(source, changeType); + } + + /** @hide */ + @Override + public void resetSubtreeAccessibilityStateChanged() { super.resetSubtreeAccessibilityStateChanged(); View[] children = mChildren; final int childCount = mChildrenCount; @@ -5095,7 +5085,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } if (child.getVisibility() != View.GONE) { - notifySubtreeAccessibilityStateChangedIfNeeded(); + notifyAccessibilitySubtreeChanged(); } if (mTransientIndices != null) { @@ -5365,7 +5355,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager dispatchViewRemoved(view); if (view.getVisibility() != View.GONE) { - notifySubtreeAccessibilityStateChangedIfNeeded(); + notifyAccessibilitySubtreeChanged(); } int transientCount = mTransientIndices == null ? 0 : mTransientIndices.size(); @@ -6084,7 +6074,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (invalidate) { invalidateViewProperty(false, false); } - notifySubtreeAccessibilityStateChangedIfNeeded(); + notifyAccessibilitySubtreeChanged(); } @Override |
