From 3bad5cc0f5b8ac3018e413ce480692e40039027c Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Tue, 19 Aug 2014 17:44:32 -0700 Subject: [PATCH] Fixing issue with inconsistent icon filename. (Bug 16992882) --- .../java/com/android/server/am/ActivityRecord.java | 9 +++++---- .../core/java/com/android/server/am/TaskRecord.java | 13 +++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java index abacb2d7dd3a7..24b7cb3c5f753 100755 --- a/services/core/java/com/android/server/am/ActivityRecord.java +++ b/services/core/java/com/android/server/am/ActivityRecord.java @@ -1054,8 +1054,8 @@ final class ActivityRecord { return null; } - private static String createImageFilename(ActivityRecord r, int taskId) { - return String.valueOf(taskId) + ACTIVITY_ICON_SUFFIX + r.createTime + + private static String createImageFilename(long createTime, int taskId) { + return String.valueOf(taskId) + ACTIVITY_ICON_SUFFIX + createTime + TaskPersister.IMAGE_EXTENSION; } @@ -1072,7 +1072,7 @@ final class ActivityRecord { out.attribute(null, ATTR_USERID, String.valueOf(userId)); if (taskDescription != null) { - task.saveTaskDescription(taskDescription, createImageFilename(this, task.taskId), + task.saveTaskDescription(taskDescription, createImageFilename(createTime, task.taskId), out); } @@ -1165,7 +1165,8 @@ final class ActivityRecord { r.persistentState = persistentState; if (createTime >= 0) { - taskDescription.setIcon(TaskPersister.restoreImage(createImageFilename(r, taskId))); + taskDescription.setIcon(TaskPersister.restoreImage(createImageFilename(createTime, + taskId))); } r.taskDescription = taskDescription; r.createTime = createTime; diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java index ccca657904e79..755171ded66ac 100644 --- a/services/core/java/com/android/server/am/TaskRecord.java +++ b/services/core/java/com/android/server/am/TaskRecord.java @@ -764,6 +764,11 @@ final class TaskRecord { return true; } + private static String createLastTaskDescriptionIconFilename(int taskId, long lastActiveTime) { + return String.valueOf(taskId) + LAST_ACTIVITY_ICON_SUFFIX + lastActiveTime + + TaskPersister.IMAGE_EXTENSION; + } + void saveToXml(XmlSerializer out) throws IOException, XmlPullParserException { Slog.i(TAG, "Saving task=" + this); @@ -790,8 +795,8 @@ final class TaskRecord { out.attribute(null, ATTR_LASTDESCRIPTION, lastDescription.toString()); } if (lastTaskDescription != null) { - saveTaskDescription(lastTaskDescription, String.valueOf(taskId) + - LAST_ACTIVITY_ICON_SUFFIX + lastActiveTime, out); + saveTaskDescription(lastTaskDescription, createLastTaskDescriptionIconFilename(taskId, + lastActiveTime), out); } out.attribute(null, ATTR_TASK_AFFILIATION_COLOR, String.valueOf(mAffiliatedTaskColor)); out.attribute(null, ATTR_TASK_AFFILIATION, String.valueOf(mAffiliatedTaskId)); @@ -933,8 +938,8 @@ final class TaskRecord { } if (lastActiveTime >= 0) { - taskDescription.setIcon(TaskPersister.restoreImage(String.valueOf(taskId) + - LAST_ACTIVITY_ICON_SUFFIX + lastActiveTime + TaskPersister.IMAGE_EXTENSION)); + taskDescription.setIcon(TaskPersister.restoreImage( + createLastTaskDescriptionIconFilename(taskId, lastActiveTime))); } final TaskRecord task = new TaskRecord(stackSupervisor.mService, taskId, intent,