From c6a2da07bf6334818c184fed486cecf39976f089 Mon Sep 17 00:00:00 2001 From: Winson Date: Wed, 11 Nov 2015 18:11:59 -0800 Subject: [PATCH] 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 --- core/java/android/app/ActivityManager.java | 10 ++++++++++ .../core/java/com/android/server/am/TaskRecord.java | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 351064a2fd0dc..65de4ca5f59a2 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 096c85e6f2da9..b2140806b4aa9 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; }