Fix Taskbar to Hotseat Animation for Non-Predective back apps

- Refactored Taskbar animation duration to under one method and added logic to sync animation duration according to enableScalingRevealHomeAnimation.
- Change the interpolator for TaskbarLauncherStateController based on enableScalingRevealHomeAnimation.

Test: Presubmit, Manual
Bug: 369378541
Flag: EXEMPT Bug Fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:0a65c5bd72d755856148faeb070a5d2ad2c79cb0)
Merged-In: I942829b475f91e9102801b758eb7ee0d27eee912
Change-Id: I942829b475f91e9102801b758eb7ee0d27eee912
This commit is contained in:
Jagrut Desai
2024-10-07 15:16:43 -07:00
committed by Android Build Coastguard Worker
parent 98a8922e41
commit c4f9510874
4 changed files with 25 additions and 8 deletions
@@ -16,6 +16,7 @@
package com.android.launcher3.taskbar;
import static com.android.app.animation.Interpolators.EMPHASIZED;
import static com.android.launcher3.Flags.enableScalingRevealHomeAnimation;
import static com.android.launcher3.Hotseat.ALPHA_CHANNEL_TASKBAR_ALIGNMENT;
import static com.android.launcher3.Hotseat.ALPHA_CHANNEL_TASKBAR_STASH;
import static com.android.launcher3.LauncherState.HOTSEAT_ICONS;
@@ -39,6 +40,7 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.os.SystemClock;
import android.util.Log;
import android.view.animation.Interpolator;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -58,6 +60,7 @@ import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.MultiPropertyFactory.MultiProperty;
import com.android.quickstep.RecentsAnimationCallbacks;
import com.android.quickstep.RecentsAnimationController;
import com.android.quickstep.util.ScalingWorkspaceRevealAnim;
import com.android.quickstep.util.SystemUiFlagUtils;
import com.android.quickstep.views.RecentsView;
import com.android.systemui.animation.ViewRootSync;
@@ -666,7 +669,9 @@ public class TaskbarLauncherStateController {
animatorSet.play(iconAlignAnim);
}
animatorSet.setInterpolator(EMPHASIZED);
Interpolator interpolator = enableScalingRevealHomeAnimation()
? ScalingWorkspaceRevealAnim.SCALE_INTERPOLATOR : EMPHASIZED;
animatorSet.setInterpolator(interpolator);
if (start) {
animatorSet.start();