Merge "Add pick ActionHandler test." into nyc-andromeda-dev
diff --git a/src/com/android/documentsui/dirlist/DragHoverListener.java b/src/com/android/documentsui/dirlist/DragHoverListener.java
index ae13d97..6b694e1 100644
--- a/src/com/android/documentsui/dirlist/DragHoverListener.java
+++ b/src/com/android/documentsui/dirlist/DragHoverListener.java
@@ -124,7 +124,6 @@
@Override
public boolean onDrag(View v, DragEvent event) {
- boolean handled = false;
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
mDragHappening = true;
@@ -132,21 +131,15 @@
case DragEvent.ACTION_DRAG_ENDED:
mDragHappening = false;
break;
- case DragEvent.ACTION_DRAG_ENTERED:
- handled = insideDragZone();
- break;
case DragEvent.ACTION_DRAG_LOCATION:
- handled = handleLocationEvent(v, event.getX(), event.getY());
+ handleLocationEvent(v, event.getX(), event.getY());
break;
default:
break;
}
- if (!handled) {
- handled = mDragHandler.onDrag(v, event);
- }
-
- return handled;
+ // Always forward events to the drag handler for item highlight, spring load, etc.
+ return mDragHandler.onDrag(v, event);
}
private boolean handleLocationEvent(View v, float x, float y) {
diff --git a/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java b/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java
index 46d9c67..27479ed 100644
--- a/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java
+++ b/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java
@@ -104,6 +104,12 @@
triggerDragLocationEvent(0, BOTTOM_Y_POINT);
assertTrue(mDragHandler.mLastDropEvent.getAction() == DragEvent.ACTION_DRAG_LOCATION);
+ triggerDragLocationEvent(0, TOP_Y_POINT);
+ assertTrue(mDragHandler.mLastDropEvent.getAction() == DragEvent.ACTION_DRAG_LOCATION);
+
+ triggerDragLocationEvent(0, BOTTOM_Y_POINT);
+ assertTrue(mDragHandler.mLastDropEvent.getAction() == DragEvent.ACTION_DRAG_LOCATION);
+
triggerDragEvent(DragEvent.ACTION_DRAG_ENDED);
}
@@ -134,18 +140,6 @@
triggerDragEvent(DragEvent.ACTION_DRAG_ENDED);
}
- // Make sure given correct location/enter events, DragScrollListener handle them itself
- @Test
- public void testDragScrollEvent_Handled() {
- triggerDragLocationEvent(0, TOP_Y_POINT);
- triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED);
- assertTrue(mDragHandler.mLastDropEvent == null);
-
- triggerDragLocationEvent(0, BOTTOM_Y_POINT);
- triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED);
- assertTrue(mDragHandler.mLastDropEvent == null);
- }
-
// A correct Auto-scroll happens in the sequence of:
// Started -> LocationChanged -> Scroll -> Enter -> Exit
// This test to make sure scroll actually happens in the right direction given correct sequence
@@ -155,14 +149,12 @@
triggerDragLocationEvent(0, TOP_Y_POINT);
triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED);
- assertTrue(mDragHandler.mLastDropEvent.getAction() == DragEvent.ACTION_DRAG_STARTED);
mActionDelegate.assertScrollNegative();
triggerDragLocationEvent(0, BOTTOM_Y_POINT);
triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED);
triggerDragEvent(DragEvent.ACTION_DRAG_ENDED);
- assertTrue(mDragHandler.mLastDropEvent.getAction() == DragEvent.ACTION_DRAG_ENDED);
mActionDelegate.assertScrollPositive();
}