Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33bcdbbb authored by Tracy Zhou's avatar Tracy Zhou
Browse files

Commit to OtherActivityInputConsumer when swiping up in app

Fixes: 279634432
Test: swipe up and then immediately down, making sure that the notification shade is not brought down
Change-Id: I5ffdab6cef8162d0f0783c5d4a761197952209dd
parent eb55f83d
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -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,16 +54,24 @@ 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 -> {
                    if (!mHasPassedTouchSlop) {
                        float displacementY = ev.getY() - mDown.y;
                    if (displacementY > mTouchSlop) {
                        if (Math.abs(displacementY) > mTouchSlop) {
                            mHasPassedTouchSlop = true;
                            if (displacementY > 0) {
                                setActive(ev);
                                ev.setAction(ACTION_DOWN);
                                dispatchTouchEvent(ev);
                            }
                        }
                    }
                }
            }
        } else {
            dispatchTouchEvent(ev);
        }