From 0b0a41d8e26eaf0f1d9d922621494daf40964a9a Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Wed, 7 Sep 2011 18:06:03 -0700 Subject: Not visible view should not be announced or interacted with. 1. Some invisible views' text was reported by accessibility events. 2. Accessibility actions could have been perfromed on invisible views. bug:5264355 Change-Id: I68184fb436a3e10e947ec6f1eae02aa3d0d1cb7f --- core/java/android/widget/AdapterView.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'core/java/android/widget/AdapterView.java') diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java index 4ba604d5adf6..565c859a35ae 100644 --- a/core/java/android/widget/AdapterView.java +++ b/core/java/android/widget/AdapterView.java @@ -886,9 +886,11 @@ public abstract class AdapterView extends ViewGroup { event.setEventType(AccessibilityEvent.TYPE_VIEW_SELECTED); } - // We first get a chance to populate the event. - onPopulateAccessibilityEvent(event); - + View selectedView = getSelectedView(); + if (selectedView != null && selectedView.getVisibility() == VISIBLE) { + // We first get a chance to populate the event. + onPopulateAccessibilityEvent(event); + } return false; } @@ -896,10 +898,7 @@ public abstract class AdapterView extends ViewGroup { public void onPopulateAccessibilityEvent(AccessibilityEvent event) { // We send selection events only from AdapterView to avoid // generation of such event for each child. - View selectedView = getSelectedView(); - if (selectedView != null) { - selectedView.dispatchPopulateAccessibilityEvent(event); - } + getSelectedView().dispatchPopulateAccessibilityEvent(event); } @Override -- cgit v1.2.3