desktop-exploded-view: Explode desktops when swiping up from home

This change makes it so that the explode animation only happens when
swiping up from the desk. In other cases, the desk is immediately set
to its exploded state.

The desk explode progress is now exposed as a FloatProperty in
RecentsViewUtils.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 367353392
Change-Id: I5adec7db1fdc933860dce7fcca0a47cec0672ee7
This commit is contained in:
Daniel Andersson
2025-02-11 15:05:44 -08:00
parent ca902dc757
commit 1422e89e92
5 changed files with 50 additions and 10 deletions
@@ -72,6 +72,7 @@ import static com.android.quickstep.views.OverviewActionsView.HIDDEN_NON_ZERO_RO
import static com.android.quickstep.views.OverviewActionsView.HIDDEN_NO_RECENTS;
import static com.android.quickstep.views.OverviewActionsView.HIDDEN_NO_TASKS;
import static com.android.quickstep.views.OverviewActionsView.HIDDEN_SPLIT_SELECT_ACTIVE;
import static com.android.quickstep.views.RecentsViewUtils.DESK_EXPLODE_PROGRESS;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -2910,13 +2911,15 @@ public abstract class RecentsView<
}
if (enableDesktopExplodedView()) {
if (animatorSet == null) {
mUtils.setDeskExplodeProgress(1);
} else {
animatorSet.play(
ObjectAnimator.ofFloat(this, DESK_EXPLODE_PROGRESS, 1));
}
for (TaskView taskView : getTaskViews()) {
if (taskView instanceof DesktopTaskView desktopTaskView) {
if (animatorSet == null) {
desktopTaskView.setExplodeProgress(1.0f);
} else {
animatorSet.play(desktopTaskView.startWindowExplodeAnimation());
}
desktopTaskView.setRemoteTargetHandles(remoteTargetHandles);
}
}