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

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

Merge "Fix TaskViewTouchController success progress to match haptic" into ub-launcher3-rvc-qpr-dev

parents 03a4a0cd b8b3e957
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorListenerAdapter;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View;
import android.view.animation.Interpolator;


import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.BaseDraggingActivity;
import com.android.launcher3.BaseDraggingActivity;
@@ -206,14 +207,19 @@ public abstract class TaskViewTouchController<T extends BaseDraggingActivity>
        long maxDuration = 2 * secondaryLayerDimension;
        long maxDuration = 2 * secondaryLayerDimension;
        int verticalFactor = orientationHandler.getTaskDragDisplacementFactor(mIsRtl);
        int verticalFactor = orientationHandler.getTaskDragDisplacementFactor(mIsRtl);
        int secondaryTaskDimension = orientationHandler.getSecondaryDimension(mTaskBeingDragged);
        int secondaryTaskDimension = orientationHandler.getSecondaryDimension(mTaskBeingDragged);
        // The interpolator controlling the most prominent visual movement. We use this to determine
        // whether we passed SUCCESS_TRANSITION_PROGRESS.
        final Interpolator currentInterpolator;
        if (goingUp) {
        if (goingUp) {
            currentInterpolator = Interpolators.LINEAR;
            mPendingAnimation = mRecentsView.createTaskDismissAnimation(mTaskBeingDragged,
            mPendingAnimation = mRecentsView.createTaskDismissAnimation(mTaskBeingDragged,
                    true /* animateTaskView */, true /* removeTask */, maxDuration);
                    true /* animateTaskView */, true /* removeTask */, maxDuration);


            mEndDisplacement = -secondaryTaskDimension;
            mEndDisplacement = -secondaryTaskDimension;
        } else {
        } else {
            currentInterpolator = Interpolators.ZOOM_IN;
            mPendingAnimation = mRecentsView.createTaskLaunchAnimation(
            mPendingAnimation = mRecentsView.createTaskLaunchAnimation(
                    mTaskBeingDragged, maxDuration, Interpolators.ZOOM_IN);
                    mTaskBeingDragged, maxDuration, currentInterpolator);


            // Since the thumbnail is what is filling the screen, based the end displacement on it.
            // Since the thumbnail is what is filling the screen, based the end displacement on it.
            View thumbnailView = mTaskBeingDragged.getThumbnail();
            View thumbnailView = mTaskBeingDragged.getThumbnail();
@@ -228,6 +234,9 @@ public abstract class TaskViewTouchController<T extends BaseDraggingActivity>
        }
        }
        mCurrentAnimation = mPendingAnimation.createPlaybackController()
        mCurrentAnimation = mPendingAnimation.createPlaybackController()
                .setOnCancelRunnable(this::clearState);
                .setOnCancelRunnable(this::clearState);
        // Setting this interpolator doesn't affect the visual motion, but is used to determine
        // whether we successfully reached the target state in onDragEnd().
        mCurrentAnimation.getTarget().setInterpolator(currentInterpolator);
        onUserControlledAnimationCreated(mCurrentAnimation);
        onUserControlledAnimationCreated(mCurrentAnimation);
        mCurrentAnimation.getTarget().addListener(this);
        mCurrentAnimation.getTarget().addListener(this);
        mCurrentAnimation.dispatchOnStart();
        mCurrentAnimation.dispatchOnStart();