summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/TaskRecord.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 9740812e654c..67a411a11214 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -64,6 +64,10 @@ final class TaskRecord extends ThumbnailHolder {
* Display.DEFAULT_DISPLAY. */
boolean mOnTopOfHome = false;
+ // Used in the unique case where we are clearing the task in order to reuse it. In that case we
+ // do not want to delete the stack when the task goes empty.
+ boolean mReuseTask = false;
+
TaskRecord(int _taskId, ActivityInfo info, Intent _intent) {
taskId = _taskId;
affinity = info.taskAffinity;
@@ -219,7 +223,7 @@ final class TaskRecord extends ThumbnailHolder {
// Was previously in list.
numFullscreen--;
}
- return mActivities.size() == 0;
+ return mActivities.size() == 0 && !mReuseTask;
}
/**
@@ -244,7 +248,9 @@ final class TaskRecord extends ThumbnailHolder {
* Completely remove all activities associated with an existing task.
*/
final void performClearTaskLocked() {
+ mReuseTask = true;
performClearTaskAtIndexLocked(0);
+ mReuseTask = false;
}
/**