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

Commit ef3ab8a5 authored by Jeremy Sim's avatar Jeremy Sim Committed by Automerger Merge Worker
Browse files

Merge "Fix crash bug when splitting with animations disabled" into tm-dev am: 602b46c3

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17807433



Change-Id: I7b3975e016a6ec33f3923175c9178ef4f31dc796
Ignore-AOSP-First: this is an automerge
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b57e29f7 602b46c3
Loading
Loading
Loading
Loading
+3 −16
Original line number Diff line number Diff line
@@ -107,7 +107,6 @@ public final class RecentsViewStateController extends
     */
    private void handleSplitSelectionState(@NonNull LauncherState toState,
            @Nullable PendingAnimation builder) {
        LauncherState currentState = mLauncher.getStateManager().getState();
        boolean animate = builder != null;
        PagedOrientationHandler orientationHandler =
                ((RecentsView) mLauncher.getOverviewPanel()).getPagedOrientationHandler();
@@ -116,7 +115,7 @@ public final class RecentsViewStateController extends
                        TASK_PRIMARY_SPLIT_TRANSLATION, TASK_SECONDARY_SPLIT_TRANSLATION,
                        mLauncher.getDeviceProfile());

        if (isSplitSelectionState(currentState, toState)) {
        if (toState == OVERVIEW_SPLIT_SELECT) {
            // Animation to "dismiss" selected taskView
            PendingAnimation splitSelectInitAnimation = mRecentsView.createSplitSelectInitAnimation(
                    toState.getTransitionDuration(mLauncher));
@@ -125,30 +124,18 @@ public final class RecentsViewStateController extends
                    toState.getSplitSelectTranslation(mLauncher), LINEAR);
            splitSelectInitAnimation.setFloat(mRecentsView, taskViewsFloat.second, 0, LINEAR);

            if (!animate && isSplitSelectionState(currentState, toState)) {
            if (!animate) {
                splitSelectInitAnimation.buildAnim().start();
            } else if (animate &&
                    isSplitSelectionState(currentState, toState)) {
            } else {
                builder.add(splitSelectInitAnimation.buildAnim());
            }
        }

        if (isSplitSelectionState(currentState, toState)) {
            mRecentsView.applySplitPrimaryScrollOffset();
        } else {
            mRecentsView.resetSplitPrimaryScrollOffset();
        }
    }

    /**
     * @return true if {@param toState} is {@link LauncherState#OVERVIEW_SPLIT_SELECT}
     *          and {@param fromState} is not {@link LauncherState#OVERVIEW_SPLIT_SELECT}
     */
    private boolean isSplitSelectionState(@NonNull LauncherState fromState,
            @NonNull LauncherState toState) {
        return fromState != OVERVIEW_SPLIT_SELECT && toState == OVERVIEW_SPLIT_SELECT;
    }

    private void setAlphas(PropertySetter propertySetter, StateAnimationConfig config,
            LauncherState state) {
        float clearAllButtonAlpha = state.areElementsVisible(mLauncher, CLEAR_ALL_BUTTON) ? 1 : 0;