diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 5ac98198530cd..508c6bd64a4c1 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -25824,6 +25824,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @param selected true if the view must be selected, false otherwise */ public void setSelected(boolean selected) { + setSelected(selected, true); + } + + void setSelected(boolean selected, boolean sendAccessibilityEvent) { //noinspection DoubleNegation if (((mPrivateFlags & PFLAG_SELECTED) != 0) != selected) { mPrivateFlags = (mPrivateFlags & ~PFLAG_SELECTED) | (selected ? PFLAG_SELECTED : 0); @@ -25831,11 +25835,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback, invalidate(true); refreshDrawableState(); dispatchSetSelected(selected); - if (selected) { - sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED); - } else { - notifyViewAccessibilityStateChangedIfNeeded( - AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED); + if (sendAccessibilityEvent) { + if (selected) { + sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED); + } else { + notifyViewAccessibilityStateChangedIfNeeded( + AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED); + } } } } diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 0e4ac0109f8e2..9f5015cf43438 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -4631,7 +4631,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final View[] children = mChildren; final int count = mChildrenCount; for (int i = 0; i < count; i++) { - children[i].setSelected(selected); + children[i].setSelected(selected, false); } }