diff options
author | Winson Chung <winsonc@google.com> | 2019-05-13 15:15:04 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2019-05-13 16:22:10 -0700 |
commit | cb554473c742967f95a36c9be83f6ec7ef1ac247 (patch) | |
tree | b0e41b1e3a0fa970d379dfec7eb8ab8d3ed08fb4 /quickstep/src | |
parent | 5d5db96bb8eaf5da646361cfd6bcaa7cc9b05e1f (diff) | |
download | android_packages_apps_Trebuchet-cb554473c742967f95a36c9be83f6ec7ef1ac247.tar.gz android_packages_apps_Trebuchet-cb554473c742967f95a36c9be83f6ec7ef1ac247.tar.bz2 android_packages_apps_Trebuchet-cb554473c742967f95a36c9be83f6ec7ef1ac247.zip |
Preemptively clear the thumbnail cache as tasks are removed
- Also reset the task thumbnail as the task views are recycled
Bug: 132309376
Change-Id: Ic2cc846e451b6b59ae76326930cb4b85627e95c4
Diffstat (limited to 'quickstep/src')
3 files changed, 23 insertions, 0 deletions
diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java index 06a36c9f0..353837312 100644 --- a/quickstep/src/com/android/quickstep/RecentTasksList.java +++ b/quickstep/src/com/android/quickstep/RecentTasksList.java @@ -120,6 +120,16 @@ public class RecentTasksList extends TaskStackChangeListener { } @Override + public void onTaskRemoved(int taskId) { + for (int i = mTasks.size() - 1; i >= 0; i--) { + if (mTasks.get(i).key.id == taskId) { + mTasks.remove(i); + return; + } + } + } + + @Override public synchronized void onActivityPinned(String packageName, int userId, int taskId, int stackId) { mChangeId++; diff --git a/quickstep/src/com/android/quickstep/RecentsModel.java b/quickstep/src/com/android/quickstep/RecentsModel.java index 675cfe2ef..9f1248458 100644 --- a/quickstep/src/com/android/quickstep/RecentsModel.java +++ b/quickstep/src/com/android/quickstep/RecentsModel.java @@ -166,6 +166,12 @@ public class RecentsModel extends TaskStackChangeListener { } } + @Override + public void onTaskRemoved(int taskId) { + Task.TaskKey dummyKey = new Task.TaskKey(taskId, 0, null, null, 0, 0); + mThumbnailCache.remove(dummyKey); + } + public void setSystemUiProxy(ISystemUiProxy systemUiProxy) { mSystemUiProxy = systemUiProxy; } diff --git a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java index d05196bc8..57c5a2783 100644 --- a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java +++ b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java @@ -187,6 +187,13 @@ public class TaskThumbnailCache { } /** + * Removes the cached thumbnail for the given task. + */ + public void remove(Task.TaskKey key) { + mCache.remove(key); + } + + /** * @return The cache size. */ public int getCacheSize() { |