Merge "Commit to OtherActivityInputConsumer when swiping up in app" into udc-dev
diff --git a/quickstep/src/com/android/quickstep/inputconsumers/StatusBarInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/StatusBarInputConsumer.java
index f3d2a60..898aa86 100644
--- a/quickstep/src/com/android/quickstep/inputconsumers/StatusBarInputConsumer.java
+++ b/quickstep/src/com/android/quickstep/inputconsumers/StatusBarInputConsumer.java
@@ -33,6 +33,7 @@
private final SystemUiProxy mSystemUiProxy;
private final float mTouchSlop;
private final PointF mDown = new PointF();
+ private boolean mHasPassedTouchSlop;
public StatusBarInputConsumer(Context context, InputConsumer delegate,
InputMonitorCompat inputMonitor) {
@@ -53,13 +54,21 @@
mDelegate.onMotionEvent(ev);
switch (ev.getActionMasked()) {
- case ACTION_DOWN -> mDown.set(ev.getX(), ev.getY());
+ case ACTION_DOWN -> {
+ mDown.set(ev.getX(), ev.getY());
+ mHasPassedTouchSlop = false;
+ }
case ACTION_MOVE -> {
- float displacementY = ev.getY() - mDown.y;
- if (displacementY > mTouchSlop) {
- setActive(ev);
- ev.setAction(ACTION_DOWN);
- dispatchTouchEvent(ev);
+ if (!mHasPassedTouchSlop) {
+ float displacementY = ev.getY() - mDown.y;
+ if (Math.abs(displacementY) > mTouchSlop) {
+ mHasPassedTouchSlop = true;
+ if (displacementY > 0) {
+ setActive(ev);
+ ev.setAction(ACTION_DOWN);
+ dispatchTouchEvent(ev);
+ }
+ }
}
}
}