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

Commit 8a069d54 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:...

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

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



Change-Id: Ieadefd38ae023f7e2dd091ba0337a992459cf53a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents eb47b22c cca5e510
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;