mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 18:58:19 +00:00
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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user