desktop-exploded-view: Launch desktop task view should reverse its

exploded animation

Following CLs will support launching individual task window in the
desktop task view.

Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 353948437
Change-Id: I5d084a7d8b231522bf5db1704cee1d6124affc22
This commit is contained in:
Xiaoqian Dai
2025-03-01 02:30:50 +00:00
parent 16020c58a9
commit 3dfd8bb2b5
8 changed files with 50 additions and 15 deletions
@@ -2925,12 +2925,15 @@ public abstract class RecentsView<
updateGridProperties();
}
BaseState<?> endState = mSizeStrategy.stateFromGestureEndTarget(endTarget);
// Starting the desk exploded animation when the gesture from an app is released.
if (enableDesktopExplodedView()) {
if (animatorSet == null) {
mUtils.setDeskExplodeProgress(1);
mUtils.setDeskExplodeProgress(endState.showExplodedDesktopView() ? 1f : 0f);
} else {
animatorSet.play(
ObjectAnimator.ofFloat(this, DESK_EXPLODE_PROGRESS, 1));
ObjectAnimator.ofFloat(this, DESK_EXPLODE_PROGRESS,
endState.showExplodedDesktopView() ? 1f : 0f));
}
for (TaskView taskView : getTaskViews()) {
@@ -2940,7 +2943,6 @@ public abstract class RecentsView<
}
}
BaseState<?> endState = mSizeStrategy.stateFromGestureEndTarget(endTarget);
if (endState.displayOverviewTasksAsGrid(mContainer.getDeviceProfile())) {
TaskView runningTaskView = getRunningTaskView();
float runningTaskGridTranslationX = 0;
@@ -3014,9 +3016,11 @@ public abstract class RecentsView<
animateActionsViewIn();
if (mEnableDrawingLiveTile) {
for (TaskView taskView : getTaskViews()) {
if (taskView instanceof DesktopTaskView desktopTaskView) {
desktopTaskView.setRemoteTargetHandles(mRemoteTargetHandles);
if (enableDesktopExplodedView()) {
for (TaskView taskView : getTaskViews()) {
if (taskView instanceof DesktopTaskView desktopTaskView) {
desktopTaskView.setRemoteTargetHandles(mRemoteTargetHandles);
}
}
}
TaskView runningTaskView = getRunningTaskView();
@@ -5780,6 +5784,9 @@ public abstract class RecentsView<
if (taskView instanceof DesktopTaskView) {
anim.play(ObjectAnimator.ofArgb(mContainer.getScrimView(), VIEW_BACKGROUND_COLOR,
Color.TRANSPARENT));
if (enableDesktopExplodedView()) {
anim.play(ObjectAnimator.ofFloat(this, DESK_EXPLODE_PROGRESS, 1f, 0f));
}
}
DepthController depthController = getDepthController();
if (depthController != null) {