summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson <winsonc@google.com> 2015-11-11 18:11:59 -0800
committer Winson Chung <winsonc@google.com> 2015-11-12 02:29:02 +0000
commitc6a2da07bf6334818c184fed486cecf39976f089 (patch)
tree19e031912465d5a7fd8553aada0d1fc62182eb60
parentbe2187a175b8d9bee2146b94748a8d8e12b72a3d (diff)
Fixing crash when trying to set thumbnail info.
- The TaskThumbnailInfo can have the same lifecycle as the TaskRecord, and we should just reset it instead of setting it to null when the thumbnail is disposed. Bug: 25652261 Change-Id: I54384e208b19e60d469bf3471dd555f78f04290c
-rw-r--r--core/java/android/app/ActivityManager.java10
-rw-r--r--services/core/java/com/android/server/am/TaskRecord.java2
2 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index 351064a2fd0d..65de4ca5f59a 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -1558,6 +1558,16 @@ public class ActivityManager {
readFromParcel(source);
}
+ /**
+ * Resets this info state to the initial state.
+ * @hide
+ */
+ public void reset() {
+ taskWidth = 0;
+ taskHeight = 0;
+ screenOrientation = 0;
+ }
+
/** @hide */
public void saveToXml(XmlSerializer out) throws IOException {
out.attribute(null, ATTR_TASK_WIDTH, Integer.toString(taskWidth));
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 096c85e6f2da..b2140806b4aa 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -572,8 +572,8 @@ final class TaskRecord {
* Removes all associated thumbnail data when a task is removed or pruned from recents.
*/
void disposeThumbnail() {
+ mLastThumbnailInfo.reset();
mLastThumbnail = null;
- mLastThumbnailInfo = null;
lastDescription = null;
}