Merge "Touch up/cancel over navigation bar will send down event to drag layer" into ub-launcher3-master
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index 6c54262..c555bc6 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -299,17 +299,15 @@
mInvalidated = true;
}
break;
+ case ACTION_CANCEL:
+ case ACTION_UP:
+ startTouchTracking(ev);
+ break;
case ACTION_MOVE: {
float displacement = ev.getY() - mDownPos.y;
if (Math.abs(displacement) >= mTouchSlop) {
- mTarget.getLocationOnScreen(mLocationOnScreen);
-
- // Send a down event only when mTouchSlop is crossed.
- MotionEvent down = MotionEvent.obtain(ev);
- down.setAction(ACTION_DOWN);
- sendEvent(down);
- down.recycle();
- mTrackingStarted = true;
+ // Start tracking only when mTouchSlop is crossed.
+ startTouchTracking(ev);
}
}
}
@@ -324,6 +322,18 @@
}
}
+ private void startTouchTracking(MotionEvent ev) {
+ mTarget.getLocationOnScreen(mLocationOnScreen);
+
+ // Send down touch event
+ MotionEvent down = MotionEvent.obtain(ev);
+ down.setAction(ACTION_DOWN);
+ sendEvent(down);
+ down.recycle();
+
+ mTrackingStarted = true;
+ }
+
private void sendEvent(MotionEvent ev) {
int flags = ev.getEdgeFlags();
ev.setEdgeFlags(flags | EDGE_NAV_BAR);