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

Commit 0dc7e91d authored by Hyunyoung Song's avatar Hyunyoung Song Committed by Android (Google) Code Review
Browse files

Merge "AllAppsTransitionController always use LauncherStateTransitionAnimation...

Merge "AllAppsTransitionController always use LauncherStateTransitionAnimation b/30375760" into ub-launcher3-calgary
parents cdef9dd3 9dcf0a3e
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;
    }