Revert "AccessibilityEvents for visibility changes should be subtree events."
This reverts commit 518520b857.
Reason for revert: This change doesn't solve the issue.
Change-Id: Iaa473eb2e3698b137c455cb09800179274a28cfb
This commit is contained in:
@@ -15608,7 +15608,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
*/
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
|
||||
void setFlags(int flags, int mask) {
|
||||
final boolean accessibilityEnabled = AccessibilityManager.getInstance(mContext).isEnabled();
|
||||
final boolean accessibilityEnabled =
|
||||
AccessibilityManager.getInstance(mContext).isEnabled();
|
||||
final boolean oldIncludeForAccessibility = accessibilityEnabled && includeForAccessibility();
|
||||
|
||||
int old = mViewFlags;
|
||||
@@ -15823,14 +15824,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
if (accessibilityEnabled) {
|
||||
// If we're an accessibility pane and the visibility changed, we already have sent
|
||||
// a state change, so we really don't need to report other changes.
|
||||
// Accessibility Services aren't concerned with changes between GONE and INVISIBLE.
|
||||
boolean visibilityChanged = !isAccessibilityPane() && ((changed & VISIBILITY_MASK) != 0)
|
||||
&& ((old & VISIBILITY_MASK) == VISIBLE || newVisibility == VISIBLE);
|
||||
if (oldIncludeForAccessibility != includeForAccessibility() || visibilityChanged) {
|
||||
notifySubtreeAccessibilityStateChangedIfNeeded();
|
||||
} else if ((changed & ENABLED_MASK) != 0 || (changed & FOCUSABLE) != 0
|
||||
if (isAccessibilityPane()) {
|
||||
changed &= ~VISIBILITY_MASK;
|
||||
}
|
||||
if ((changed & FOCUSABLE) != 0 || (changed & VISIBILITY_MASK) != 0
|
||||
|| (changed & CLICKABLE) != 0 || (changed & LONG_CLICKABLE) != 0
|
||||
|| (changed & CONTEXT_CLICKABLE) != 0) {
|
||||
if (oldIncludeForAccessibility != includeForAccessibility()) {
|
||||
notifySubtreeAccessibilityStateChangedIfNeeded();
|
||||
} else {
|
||||
notifyViewAccessibilityStateChangedIfNeeded(
|
||||
AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);
|
||||
}
|
||||
} else if ((changed & ENABLED_MASK) != 0) {
|
||||
notifyViewAccessibilityStateChangedIfNeeded(
|
||||
AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user