Merge "Commit to OtherActivityInputConsumer when swiping up in app" into udc-dev am: c8f0ac0cd8

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22863002

Change-Id: I120dfff079269ad7a75ff6e2b099a1fcc1fc1a30
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tracy Zhou
2023-04-26 06:55:41 +00:00
committed by Automerger Merge Worker
@@ -33,6 +33,7 @@ public class StatusBarInputConsumer extends DelegateInputConsumer {
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 @@ public class StatusBarInputConsumer extends DelegateInputConsumer {
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);
}
}
}
}
}