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

Commit ade8b9d7 authored by Tony Huang's avatar Tony Huang Committed by Android (Google) Code Review
Browse files

Merge "Fix split divider flash if swipe again quickly" into tm-qpr-dev

parents 21a5b12b 3fc57cb5
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -881,11 +881,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
        // properly cleaned up the screenshot without accidentally using it.
        mDeferredCleanupRecentsAnimationController = mRecentsAnimationController;
        mStateCallback.setStateOnUiThread(STATE_GESTURE_CANCELLED | STATE_HANDLER_INVALIDATED);

        if (mRecentsAnimationTargets != null) {
            setDividerShown(true /* shown */, false /* immediate */);
        }

        // Defer clearing the controller and the targets until after we've updated the state
        mRecentsAnimationController = null;
        mRecentsAnimationTargets = null;
@@ -1783,10 +1778,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
        boolean wasVisible = mWasLauncherAlreadyVisible || mGestureStarted;
        mActivityInterface.onTransitionCancelled(wasVisible, mGestureState.getEndTarget());

        if (mRecentsAnimationTargets != null && wasVisible) {
            setDividerShown(true /* shown */, true /* immediate */);
        }

        // Leave the pending invisible flag, as it may be used by wallpaper open animation.
        if (mActivity != null) {
            mActivity.clearForceInvisibleFlag(INVISIBLE_BY_STATE_HANDLER);
+7 −3
Original line number Diff line number Diff line
@@ -672,7 +672,7 @@ public final class TaskViewUtils {
        for (int i = 0; i < nonApps.length; ++i) {
            final RemoteAnimationTargetCompat targ = nonApps[i];
            final SurfaceControl leash = targ.leash;
            if (targ.windowType == TYPE_DOCK_DIVIDER && leash != null) {
            if (targ.windowType == TYPE_DOCK_DIVIDER && leash != null && leash.isValid()) {
                auxiliarySurfaces.add(leash);
                hasSurfaceToAnimate = true;
            }
@@ -685,8 +685,10 @@ public final class TaskViewUtils {
        dockFadeAnimator.addUpdateListener(valueAnimator -> {
            float progress = valueAnimator.getAnimatedFraction();
            for (SurfaceControl leash : auxiliarySurfaces) {
                if (leash != null && leash.isValid()) {
                    t.setAlpha(leash, shown ? progress : 1 - progress);
                }
            }
            t.apply();
        });
        dockFadeAnimator.addListener(new AnimatorListenerAdapter() {
@@ -706,8 +708,10 @@ public final class TaskViewUtils {
            public void onAnimationEnd(Animator animation) {
                if (!shown) {
                    for (SurfaceControl leash : auxiliarySurfaces) {
                        if (leash != null && leash.isValid()) {
                            t.hide(leash);
                        }
                    }
                    t.apply();
                }
                t.close();