OSDN Git Service

Fix scrolling accessibility events sent from PagedView
authorAlan Viverette <alanv@google.com>
Tue, 8 Oct 2013 20:13:46 +0000 (13:13 -0700)
committerAlan Viverette <alanv@google.com>
Tue, 8 Oct 2013 20:13:46 +0000 (13:13 -0700)
BUG: 11087905
Change-Id: Id4852dc04ee1aca25ccb0eba094b34c6b87d6d41

src/com/android/launcher3/PagedView.java

index 96d8c19..2182680 100644 (file)
@@ -668,11 +668,10 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
         if (am.isEnabled()) {
             AccessibilityEvent ev =
                     AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_SCROLLED);
-            ev.getText().add("");
             ev.setItemCount(getChildCount());
             ev.setFromIndex(mCurrentPage);
-            int action = AccessibilityNodeInfo.ACTION_SCROLL_FORWARD;
 
+            final int action;
             if (getNextPage() >= mCurrentPage) {
                 action = AccessibilityNodeInfo.ACTION_SCROLL_FORWARD;
             } else {
@@ -2752,6 +2751,14 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
     }
 
     @Override
+    public void sendAccessibilityEvent(int eventType) {
+        // Don't let the view send real scroll events.
+        if (eventType != AccessibilityEvent.TYPE_VIEW_SCROLLED) {
+            super.sendAccessibilityEvent(eventType);
+        }
+    }
+
+    @Override
     public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
         super.onInitializeAccessibilityEvent(event);
         event.setScrollable(true);