Run dismiss immediately if no neighbors exist.

Previously was still relying on spring driver to end, even if driving no neighbors.

Update live tile before canceling animation to bring task off screen, or else it may still show at the top of the screen.

Fix: 405364868
Test: Manual
Flag: com.android.launcher3.enable_expressive_dismiss_task_motion
Change-Id: Ic9a1b4ba9aaf1ec3830e49bf15573388a6d7a2ad
This commit is contained in:
Pat Manning
2025-03-25 14:35:35 +00:00
parent 6db50866de
commit 8216005fd0
2 changed files with 26 additions and 21 deletions
@@ -4718,10 +4718,11 @@ public abstract class RecentsView<
runDismissAnimation(pa);
}
protected void expressiveDismissTaskView(TaskView taskView, Function0<Unit> onEndRunnable) {
PendingAnimation pa = new PendingAnimation(DISMISS_TASK_DURATION);
protected void expressiveDismissTaskView(TaskView taskView, Function0<Unit> onEndRunnable,
int dismissDuration) {
PendingAnimation pa = new PendingAnimation(dismissDuration);
createTaskDismissAnimation(pa, taskView, false /* animateTaskView */, true /* removeTask */,
DISMISS_TASK_DURATION, false /* dismissingForSplitSelection*/,
dismissDuration, false /* dismissingForSplitSelection*/,
true /* isExpressiveDismiss */);
pa.addEndListener((success) -> onEndRunnable.invoke());
runDismissAnimation(pa);