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

Commit 6eebaab5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Updating Pause detection to use motion events directly" into ub-launcher3-master

parents aeb185e7 c3bd4d0e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -172,7 +172,7 @@ public class FlingAndHoldTouchController extends PortraitStatesTouchController {
        mMotionPauseDetector.setDisallowPause(!handlingOverviewAnim()
                || upDisplacement < mMotionPauseMinDisplacement
                || upDisplacement > mMotionPauseMaxDisplacement);
        mMotionPauseDetector.addPosition(displacement, event.getEventTime());
        mMotionPauseDetector.addPosition(event);
        return super.onDrag(displacement, event);
    }

+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ public class NoButtonQuickSwitchTouchController implements TouchController,
        // home screen elements will appear in the shelf on motion pause.
        mMotionPauseDetector.setDisallowPause(mIsHomeScreenVisible
                || -displacement.y < mMotionPauseMinDisplacement);
        mMotionPauseDetector.addPosition(displacement.y, ev.getEventTime());
        mMotionPauseDetector.addPosition(ev);

        if (mIsHomeScreenVisible) {
            // Cancel the shelf anim so it doesn't clobber mNonOverviewAnim.
+2 −4
Original line number Diff line number Diff line
@@ -31,8 +31,8 @@ import android.view.ViewConfiguration;
import com.android.launcher3.R;
import com.android.quickstep.InputConsumer;
import com.android.quickstep.RecentsAnimationDeviceState;
import com.android.quickstep.util.MotionPauseDetector;
import com.android.quickstep.SystemUiProxy;
import com.android.quickstep.util.MotionPauseDetector;
import com.android.systemui.shared.system.InputMonitorCompat;

/**
@@ -117,9 +117,7 @@ public class AccessibilityInputConsumer extends DelegateInputConsumer {
                    if (pointerIndex == -1) {
                        break;
                    }

                    mMotionPauseDetector.addPosition(ev.getY(pointerIndex) - mDownY,
                            ev.getEventTime());
                    mMotionPauseDetector.addPosition(ev, pointerIndex);
                }
                break;
            }
+12 −7
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import com.android.quickstep.TaskAnimationManager;
import com.android.quickstep.util.ActiveGestureLog;
import com.android.quickstep.util.CachedEventDispatcher;
import com.android.quickstep.util.MotionPauseDetector;
import com.android.quickstep.util.NavBarPosition;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.InputMonitorCompat;

@@ -77,6 +78,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
    public static final float QUICKSTEP_TOUCH_SLOP_RATIO = 3;

    private final RecentsAnimationDeviceState mDeviceState;
    private final NavBarPosition mNavBarPosition;
    private final TaskAnimationManager mTaskAnimationManager;
    private final GestureState mGestureState;
    private RecentsAnimationCallbacks mActiveCallbacks;
@@ -126,13 +128,16 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
            Factory handlerFactory) {
        super(base);
        mDeviceState = deviceState;
        mNavBarPosition = mDeviceState.getNavBarPosition();
        mTaskAnimationManager = taskAnimationManager;
        mGestureState = gestureState;
        mMainThreadHandler = new Handler(Looper.getMainLooper());
        mHandlerFactory = handlerFactory;
        mActivityInterface = mGestureState.getActivityInterface();

        mMotionPauseDetector = new MotionPauseDetector(base);
        mMotionPauseDetector = new MotionPauseDetector(base, false,
                mNavBarPosition.isLeftEdge() || mNavBarPosition.isRightEdge()
                        ? MotionEvent.AXIS_X : MotionEvent.AXIS_Y);
        mMotionPauseMinDisplacement = base.getResources().getDimension(
                R.dimen.motion_pause_detector_min_displacement_from_app);
        mOnCompleteCallback = onCompleteCallback;
@@ -172,7 +177,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
        if (mPassedWindowMoveSlop && mInteractionHandler != null
                && !mRecentsViewDispatcher.hasConsumer()) {
            mRecentsViewDispatcher.setConsumer(mInteractionHandler.getRecentsViewDispatcher(
                    mDeviceState.getNavBarPosition().getRotationMode()));
                    mNavBarPosition.getRotationMode()));
        }
        int edgeFlags = ev.getEdgeFlags();
        ev.setEdgeFlags(edgeFlags | EDGE_NAV_BAR);
@@ -285,7 +290,7 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
                    if (mDeviceState.isFullyGesturalNavMode()) {
                        mMotionPauseDetector.setDisallowPause(upDist < mMotionPauseMinDisplacement
                                || isLikelyToStartNewTask);
                        mMotionPauseDetector.addPosition(displacement, ev.getEventTime());
                        mMotionPauseDetector.addPosition(ev);
                        mInteractionHandler.setIsLikelyToStartNewTask(isLikelyToStartNewTask);
                    }
                }
@@ -354,9 +359,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
                        ViewConfiguration.get(this).getScaledMaximumFlingVelocity());
                float velocityX = mVelocityTracker.getXVelocity(mActivePointerId);
                float velocityY = mVelocityTracker.getYVelocity(mActivePointerId);
                float velocity = mDeviceState.getNavBarPosition().isRightEdge()
                float velocity = mNavBarPosition.isRightEdge()
                        ? velocityX
                        : mDeviceState.getNavBarPosition().isLeftEdge()
                        : mNavBarPosition.isLeftEdge()
                                ? -velocityX
                                : velocityY;

@@ -410,9 +415,9 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
    }

    private float getDisplacement(MotionEvent ev) {
        if (mDeviceState.getNavBarPosition().isRightEdge()) {
        if (mNavBarPosition.isRightEdge()) {
            return ev.getX() - mDownPos.x;
        } else if (mDeviceState.getNavBarPosition().isLeftEdge()) {
        } else if (mNavBarPosition.isLeftEdge()) {
            return mDownPos.x - ev.getX();
        } else {
            return ev.getY() - mDownPos.y;
+2 −2
Original line number Diff line number Diff line
@@ -23,8 +23,8 @@ import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.R;
import com.android.quickstep.GestureState;
import com.android.quickstep.InputConsumer;
import com.android.quickstep.util.MotionPauseDetector;
import com.android.quickstep.SystemUiProxy;
import com.android.quickstep.util.MotionPauseDetector;

/**
 * An input consumer that detects swipe up and hold to exit screen pinning mode.
@@ -72,7 +72,7 @@ public class ScreenPinnedInputConsumer implements InputConsumer {
            case MotionEvent.ACTION_MOVE:
                float displacement = mTouchDownY - y;
                mMotionPauseDetector.setDisallowPause(displacement < mMotionPauseMinDisplacement);
                mMotionPauseDetector.addPosition(y, ev.getEventTime());
                mMotionPauseDetector.addPosition(ev);
                break;
            case MotionEvent.ACTION_CANCEL:
            case MotionEvent.ACTION_UP:
Loading