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

Commit 00789f97 authored by Tracy Zhou's avatar Tracy Zhou Committed by Automerger Merge Worker
Browse files

Merge "Play icon alignment animation in live tile mode" into tm-dev am: b5d7744c

parents 71dcdc3c b5d7744c
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.BaseQuickstepLauncher;
@@ -74,6 +75,8 @@ import java.util.function.Supplier;
    private int mState;
    private LauncherState mLauncherState = LauncherState.NORMAL;

    private @Nullable TaskBarRecentsAnimationListener mTaskBarRecentsAnimationListener;

    private boolean mIsAnimatingToLauncherViaGesture;
    private boolean mIsAnimatingToLauncherViaResume;

@@ -163,12 +166,11 @@ import java.util.function.Supplier;
        animatorSet.play(stashController.applyStateWithoutStart(duration));
        animatorSet.play(applyState(duration, false));

        TaskBarRecentsAnimationListener listener = new TaskBarRecentsAnimationListener(callbacks);
        callbacks.addListener(listener);
        mTaskBarRecentsAnimationListener = new TaskBarRecentsAnimationListener(callbacks);
        callbacks.addListener(mTaskBarRecentsAnimationListener);
        RecentsView recentsView = mLauncher.getOverviewPanel();
        recentsView.setTaskLaunchListener(() -> {
            listener.endGestureStateOverride(true);
            callbacks.removeListener(listener);
            mTaskBarRecentsAnimationListener.endGestureStateOverride(true);
        });
        return animatorSet;
    }
@@ -382,7 +384,7 @@ import java.util.function.Supplier;
    }

    private void onIconAlignmentRatioChangedForStateTransition() {
        if (!isResumed()) {
        if (!isResumed() && mTaskBarRecentsAnimationListener == null) {
            return;
        }
        onIconAlignmentRatioChanged(this::getCurrentIconAlignmentRatioForLauncherState);
@@ -458,6 +460,7 @@ import java.util.function.Supplier;

        private void endGestureStateOverride(boolean finishedToApp) {
            mCallbacks.removeListener(this);
            mTaskBarRecentsAnimationListener = null;

            // Update the resumed state immediately to ensure a seamless handoff
            boolean launcherResumed = !finishedToApp;