summaryrefslogtreecommitdiff
path: root/core/java/android/widget/AdapterView.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/AdapterView.java')
-rw-r--r--core/java/android/widget/AdapterView.java28
1 files changed, 12 insertions, 16 deletions
diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java
index 060f1a9b2bc0..f16efbdeb7be 100644
--- a/core/java/android/widget/AdapterView.java
+++ b/core/java/android/widget/AdapterView.java
@@ -876,6 +876,7 @@ public abstract class AdapterView<T extends Adapter> extends ViewGroup {
@Override
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
+ boolean populated = false;
// This is an exceptional case which occurs when a window gets the
// focus and sends a focus event via its focused child to announce
// current focus/selection. AdapterView fires selection but not focus
@@ -884,27 +885,22 @@ public abstract class AdapterView<T extends Adapter> extends ViewGroup {
event.setEventType(AccessibilityEvent.TYPE_VIEW_SELECTED);
}
- // We first get a chance to populate the event.
- onPopulateAccessibilityEvent(event);
-
- // We send selection events only from AdapterView to avoid
- // generation of such event for each child.
+ // we send selection events only from AdapterView to avoid
+ // generation of such event for each child
View selectedView = getSelectedView();
if (selectedView != null) {
- return selectedView.dispatchPopulateAccessibilityEvent(event);
+ populated = selectedView.dispatchPopulateAccessibilityEvent(event);
}
- return false;
- }
-
- @Override
- public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
- View selectedView = getSelectedView();
- if (selectedView != null) {
- event.setEnabled(selectedView.isEnabled());
+ if (!populated) {
+ if (selectedView != null) {
+ event.setEnabled(selectedView.isEnabled());
+ }
+ event.setItemCount(getCount());
+ event.setCurrentItemIndex(getSelectedItemPosition());
}
- event.setItemCount(getCount());
- event.setCurrentItemIndex(getSelectedItemPosition());
+
+ return populated;
}
@Override