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

Commit eef0b164 authored by Pat Manning's avatar Pat Manning Committed by Android (Google) Code Review
Browse files

Merge "Do not animate moving to rest state on CHANGE_ACTIVE_SCREEN." into tm-qpr-dev

parents 2d3f189b cc31ba53
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -937,7 +937,11 @@ public class QuickstepLauncher extends Launcher {
        // When changing screens, force moving to rest state similar to StatefulActivity.onStop, as
        // When changing screens, force moving to rest state similar to StatefulActivity.onStop, as
        // StatefulActivity isn't called consistently.
        // StatefulActivity isn't called consistently.
        if ((flags & CHANGE_ACTIVE_SCREEN) != 0) {
        if ((flags & CHANGE_ACTIVE_SCREEN) != 0) {
            getStateManager().moveToRestState();
            // Do not animate moving to rest state, as it can clash with Launcher#onIdpChanged
            // where reapplyUi calls StateManager's reapplyState during the state change animation,
            // and cancel the state change unexpectedly. The screen will be off during screen
            // transition, hiding the unanimated transition.
            getStateManager().moveToRestState(/* isAnimated = */false);
        }
        }


        if ((flags & CHANGE_NAVIGATION_MODE) != 0) {
        if ((flags & CHANGE_NAVIGATION_MODE) != 0) {
+5 −2
Original line number Original line Diff line number Diff line
@@ -342,7 +342,6 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
            public void onAnimationSuccess(Animator animator) {
            public void onAnimationSuccess(Animator animator) {
                onStateTransitionEnd(state);
                onStateTransitionEnd(state);
            }
            }

        };
        };
    }
    }


@@ -377,12 +376,16 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
    }
    }


    public void moveToRestState() {
    public void moveToRestState() {
        moveToRestState(shouldAnimateStateChange());
    }

    public void moveToRestState(boolean isAnimated) {
        if (mConfig.currentAnimation != null && mConfig.userControlled) {
        if (mConfig.currentAnimation != null && mConfig.userControlled) {
            // The user is doing something. Lets not mess it up
            // The user is doing something. Lets not mess it up
            return;
            return;
        }
        }
        if (mState.shouldDisableRestore()) {
        if (mState.shouldDisableRestore()) {
            goToState(getRestState());
            goToState(getRestState(), isAnimated);
            // Reset history
            // Reset history
            mLastStableState = mBaseState;
            mLastStableState = mBaseState;
        }
        }