OSDN Git Service

Revert change f449c0c381239dc0f78b0f01ecfb3889e056a597.
authorAlan Viverette <alanv@google.com>
Fri, 26 Apr 2013 00:32:45 +0000 (17:32 -0700)
committerAlan Viverette <alanv@google.com>
Fri, 26 Apr 2013 00:32:45 +0000 (17:32 -0700)
Previously, onHoverEvent() would return true if a view was hoverable
and consume the event. After the change, it would return the result of
dispatchGenericMotionEventInternal(). As a result, touch exploration
caused multiple hover events to be sent from every view under a given
touch point. This change reverts to the original behavior and fixes
touch exploration.

BUG: 8723842
Change-Id: I0c7362f19c51bf21ed842711a03b7f02613958d2

core/java/android/view/View.java

index 5589244..81db473 100644 (file)
@@ -8228,7 +8228,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
             // in onHoverEvent.
             // Note that onGenericMotionEvent will be called by default when
             // onHoverEvent returns false (refer to dispatchGenericMotionEvent).
-            return dispatchGenericMotionEventInternal(event);
+            dispatchGenericMotionEventInternal(event);
+            // The event was already handled by calling setHovered(), so always
+            // return true.
+            return true;
         }
 
         return false;