Finish recents animation on task dismissal only if the task is a live tile task
Fixes: 191831190
Test: manual
Change-Id: Ie1dd02a2e8cc401a613a0ed2199400712c6d5291
Merged-In: Ie1dd02a2e8cc401a613a0ed2199400712c6d5291
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 2b256a4..0cb7501 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -2369,13 +2369,12 @@
if (success) {
if (shouldRemoveTask) {
if (taskView.getTask() != null) {
- finishRecentsAnimation(true /* toRecents */, false /* shouldPip */,
- () -> {
- UI_HELPER_EXECUTOR.getHandler().postDelayed(() ->
- ActivityManagerWrapper.getInstance().removeTask(
- taskView.getTask().key.id),
- REMOVE_TASK_WAIT_FOR_APP_STOP_MS);
- });
+ if (LIVE_TILE.get() && taskView.isRunningTask()) {
+ finishRecentsAnimation(true /* toRecents */, false /* shouldPip */,
+ () -> removeTaskInternal(taskView));
+ } else {
+ removeTaskInternal(taskView);
+ }
mActivity.getStatsLogManager().logger()
.withItemInfo(taskView.getItemInfo())
.log(LAUNCHER_TASK_DISMISS_SWIPE_UP);
@@ -2421,6 +2420,13 @@
return anim;
}
+ private void removeTaskInternal(TaskView taskView) {
+ UI_HELPER_EXECUTOR.getHandler().postDelayed(() ->
+ ActivityManagerWrapper.getInstance().removeTask(
+ taskView.getTask().key.id),
+ REMOVE_TASK_WAIT_FOR_APP_STOP_MS);
+ }
+
/**
* @return {@code true} if one of the task thumbnails would intersect/overlap with the
* {@link #mSplitPlaceholderView}