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

Commit 9dcf0a3e authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

AllAppsTransitionController always use LauncherStateTransitionAnimation

b/30375760

Change-Id: Iee2f8060e4d272d276ddd5d40b4bc6053e8c7778
parent 10717bfc
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -3296,7 +3296,7 @@ public class Launcher extends Activity
    public boolean showWorkspace(boolean animated, Runnable onCompleteRunnable) {
        boolean changed = mState != State.WORKSPACE ||
                mWorkspace.getState() != Workspace.State.NORMAL;
        if (changed) {
        if (changed || mAllAppsController.isTransitioning()) {
            mWorkspace.setVisibility(View.VISIBLE);
            mStateTransitionAnimation.startAnimationToWorkspace(mState, mWorkspace.getState(),
                    Workspace.State.NORMAL, animated, onCompleteRunnable);
@@ -3393,8 +3393,10 @@ public class Launcher extends Activity
    // TODO: calling method should use the return value so that when {@code false} is returned
    // the workspace transition doesn't fall into invalid state.
    private boolean showAppsOrWidgets(State toState, boolean animated, boolean focusSearchBar) {
        if (mState != State.WORKSPACE &&  mState != State.APPS_SPRING_LOADED &&
                mState != State.WIDGETS_SPRING_LOADED) {
        if (!(mState == State.WORKSPACE ||
                mState == State.APPS_SPRING_LOADED ||
                mState == State.WIDGETS_SPRING_LOADED ||
                (mState == State.APPS && mAllAppsController.isTransitioning()))) {
            return false;
        }
        if (toState != State.APPS && toState != State.WIDGETS) {
+6 −6
Original line number Diff line number Diff line
@@ -207,7 +207,8 @@ public class LauncherStateTransitionAnimation {
            Log.e(TAG, "Unexpected call to startAnimationToWorkspace");
        }

        if (fromState == Launcher.State.APPS || fromState == Launcher.State.APPS_SPRING_LOADED) {
        if (fromState == Launcher.State.APPS || fromState == Launcher.State.APPS_SPRING_LOADED
                || mAllAppsController.isTransitioning()) {
            int animType = CIRCULAR_REVEAL;
            if (FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP) {
                animType = PULLUP;
@@ -434,7 +435,7 @@ public class LauncherStateTransitionAnimation {
                      pCb.onTransitionComplete();
                  }
            });
            mAllAppsController.animateToAllApps(animation, revealDuration, false);
            mAllAppsController.animateToAllApps(animation, revealDuration);

            dispatchOnLauncherTransitionPrepare(fromView, animated, false);
            dispatchOnLauncherTransitionPrepare(toView, animated, false);
@@ -898,9 +899,8 @@ public class LauncherStateTransitionAnimation {
                @Override
                public void onAnimationEnd(Animator animation) {
                    if (canceled) return;
                    dispatchOnLauncherTransitionEnd(fromView, animated, false);
                    dispatchOnLauncherTransitionEnd(toView, animated, false);

                    dispatchOnLauncherTransitionEnd(fromView, animated, true);
                    dispatchOnLauncherTransitionEnd(toView, animated, true);
                    // Run any queued runnables
                    if (onCompleteRunnable != null) {
                        onCompleteRunnable.run();
@@ -918,7 +918,7 @@ public class LauncherStateTransitionAnimation {
                }

            });
            mAllAppsController.animateToWorkspace(animation, revealDuration, false);
            mAllAppsController.animateToWorkspace(animation, revealDuration);

            // Dispatch the prepare transition signal
            dispatchOnLauncherTransitionPrepare(fromView, animated, multiplePagesVisible);
+10 −26
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
        if (mDetector.isSettlingState() && (isInDisallowRecatchBottomZone() || isInDisallowRecatchTopZone())) {
            return false;
        }
        return mDetector.shouldIntercept();
        return mDetector.isDraggingOrSettling();
    }

    private boolean shouldPossiblyIntercept(MotionEvent ev) {
@@ -222,27 +222,17 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
                            LauncherLogProto.Action.FLING,
                            LauncherLogProto.Action.UP,
                            LauncherLogProto.HOTSEAT);
                    mLauncher.showAppsView(true, true, false, false);
                } else {
                    animateToAllApps(mCurrentAnimation, mAnimationDuration, true);
                }
                mLauncher.showAppsView(true, true, false, false);
            } else {
                calculateDuration(velocity, Math.abs(mShiftRange - mAppsView.getTranslationY()));
                if (mLauncher.isAllAppsVisible()) {
                mLauncher.showWorkspace(true);
                } else {
                    animateToWorkspace(mCurrentAnimation, mAnimationDuration, true);
                }
            }
            // snap to top or bottom using the release velocity
        } else {
            if (mAppsView.getTranslationY() > mShiftRange / 2) {
                calculateDuration(velocity, Math.abs(mShiftRange - mAppsView.getTranslationY()));
                if (mLauncher.isAllAppsVisible()) {
                mLauncher.showWorkspace(true);
                } else {
                    animateToWorkspace(mCurrentAnimation, mAnimationDuration, true);
                }
            } else {
                calculateDuration(velocity, Math.abs(mAppsView.getTranslationY()));
                if (!mLauncher.isAllAppsVisible()) {
@@ -250,15 +240,15 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
                            LauncherLogProto.Action.SWIPE,
                            LauncherLogProto.Action.UP,
                            LauncherLogProto.HOTSEAT);
                    mLauncher.showAppsView(true, true, false, false);
                } else {
                    animateToAllApps(mCurrentAnimation, mAnimationDuration, true);
                }

                mLauncher.showAppsView(true, true, false, false);
            }
        }
    }

    public boolean isTransitioning() {
        return mDetector.isDraggingOrSettling();
    }
    /**
     * @param start {@code true} if start of new drag.
     */
@@ -354,7 +344,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
        }
    }

    public void animateToAllApps(AnimatorSet animationOut, long duration, boolean start) {
    public void animateToAllApps(AnimatorSet animationOut, long duration) {
        if (animationOut == null) {
            return;
        }
@@ -390,9 +380,6 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
            }
        });
        mCurrentAnimation = animationOut;
        if (start) {
            mCurrentAnimation.start();
        }
    }

    public void showDiscoveryBounce() {
@@ -425,7 +412,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
        });
    }

    public void animateToWorkspace(AnimatorSet animationOut, long duration, boolean start) {
    public void animateToWorkspace(AnimatorSet animationOut, long duration) {
        if (animationOut == null) {
            return;
        }
@@ -462,9 +449,6 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
            }
        });
        mCurrentAnimation = animationOut;
        if (start) {
            mCurrentAnimation.start();
        }
    }

    public void finishPullUp() {
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ public class VerticalPullDetector {
        mState = newState;
    }

    public boolean shouldIntercept() {
    public boolean isDraggingOrSettling() {
        return mState == ScrollState.DRAGGING || mState == ScrollState.SETTLING;
    }