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

Commit b5d7744c authored by Tracy Zhou's avatar Tracy Zhou Committed by Android (Google) Code Review
Browse files

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

parents abc22883 42e30963
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;