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

Commit 602b46c3 authored by Jeremy Sim's avatar Jeremy Sim Committed by Android (Google) Code Review
Browse files

Merge "Fix crash bug when splitting with animations disabled" into tm-dev

parents 8aead550 42276318
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;