diff options
| -rw-r--r-- | services/core/java/com/android/server/am/TaskRecord.java | 8 |
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; } /** |