summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wale Ogunwale <ogunwale@google.com> 2014-10-21 16:29:51 -0700
committer Wale Ogunwale <ogunwale@google.com> 2014-10-21 16:47:58 -0700
commitbe23ff4949612ecea89d112eff7f5e2c3dbf7685 (patch)
treefa718ab286ebcc86889523c2b5973209d6c73d28
parent017c6f2daaed2c5f0301587ba88663f73b76ecb1 (diff)
Fix issue #17674789: Recents icon resets if persist mode is 'persistNever'
Changed TaskPersister worker thread to not delete task information on disk for tasks that are in recents but not persistable. Also, changed logic that writes tasks information (excluding thunmbnail) to disk to not write information for tasks that are not persistable. Bug: 17674789 Change-Id: Iff7c5d24677f8a75157bb6be504fc2d9d6bcc098
-rw-r--r--services/core/java/com/android/server/am/TaskPersister.java12
-rw-r--r--services/core/java/com/android/server/am/TaskRecord.java2
2 files changed, 8 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/am/TaskPersister.java b/services/core/java/com/android/server/am/TaskPersister.java
index afc781fd32ee..b331c845a0e3 100644
--- a/services/core/java/com/android/server/am/TaskPersister.java
+++ b/services/core/java/com/android/server/am/TaskPersister.java
@@ -166,7 +166,7 @@ public class TaskPersister {
break;
}
}
- if (queueNdx < 0) {
+ if (queueNdx < 0 && task.isPersistable) {
mWriteQueue.add(new TaskWriteQueueItem(task));
}
} else {
@@ -473,13 +473,15 @@ public class TaskPersister {
if (DEBUG) Slog.d(TAG, "mRecents=" + tasks);
for (int taskNdx = tasks.size() - 1; taskNdx >= 0; --taskNdx) {
final TaskRecord task = tasks.get(taskNdx);
- if (DEBUG) Slog.d(TAG, "LazyTaskWriter: task=" + task + " persistable=" +
- task.isPersistable);
- if (task.isPersistable && !task.stack.isHomeStack()) {
+ if (DEBUG) Slog.d(TAG, "LazyTaskWriter: task=" + task +
+ " persistable=" + task.isPersistable);
+ if ((task.isPersistable || task.inRecents)
+ && !task.stack.isHomeStack()) {
if (DEBUG) Slog.d(TAG, "adding to persistentTaskIds task=" + task);
persistentTaskIds.add(task.taskId);
} else {
- if (DEBUG) Slog.d(TAG, "omitting from persistentTaskIds task=" + task);
+ if (DEBUG) Slog.d(TAG,
+ "omitting from persistentTaskIds task=" + task);
}
}
}
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 4dfd23b74bb8..ee932331f38a 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -144,7 +144,7 @@ final class TaskRecord {
boolean mReuseTask = false;
private Bitmap mLastThumbnail; // Last thumbnail captured for this item.
- private final File mLastThumbnailFile; // File containing last thubmnail.
+ private final File mLastThumbnailFile; // File containing last thumbnail.
private final String mFilename;
CharSequence lastDescription; // Last description captured for this item.