diff options
author | Vinit Nayak <peanutbutter@google.com> | 2019-08-06 22:40:23 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-08-06 22:40:23 +0000 |
commit | 0664d9ad09b46760faf8a548645c99dfeaf04edd (patch) | |
tree | 0e414a69302b2fa1bd5e799be2776a38cbb5d02b /quickstep/src | |
parent | 5191e98a3fb759a778f99a76b788361678d87b31 (diff) | |
parent | a04997b0811f2af79c0a91046d85d7e992496cab (diff) | |
download | android_packages_apps_Trebuchet-0664d9ad09b46760faf8a548645c99dfeaf04edd.tar.gz android_packages_apps_Trebuchet-0664d9ad09b46760faf8a548645c99dfeaf04edd.tar.bz2 android_packages_apps_Trebuchet-0664d9ad09b46760faf8a548645c99dfeaf04edd.zip |
Merge "Use new onTaskListUpdated() callback" into ub-launcher3-master
Diffstat (limited to 'quickstep/src')
3 files changed, 19 insertions, 17 deletions
diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java index 71ce32b28..9b647b8d5 100644 --- a/quickstep/src/com/android/quickstep/RecentTasksList.java +++ b/quickstep/src/com/android/quickstep/RecentTasksList.java @@ -119,12 +119,8 @@ public class RecentTasksList extends TaskStackChangeListener { } @Override - public synchronized void onTaskStackChanged() { + public void onRecentTaskListUpdated() { mChangeId++; - } - - @Override - public void onTaskRemoved(int taskId) { mTasks = loadTasksInBackground(Integer.MAX_VALUE, false); } diff --git a/quickstep/src/com/android/quickstep/RecentsModel.java b/quickstep/src/com/android/quickstep/RecentsModel.java index 650169cf3..ede56b656 100644 --- a/quickstep/src/com/android/quickstep/RecentsModel.java +++ b/quickstep/src/com/android/quickstep/RecentsModel.java @@ -16,15 +16,12 @@ package com.android.quickstep; import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId; -import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SUPPORTS_WINDOW_CORNERS; -import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_WINDOW_CORNER_RADIUS; import android.annotation.TargetApi; import android.app.ActivityManager; import android.content.ComponentCallbacks2; import android.content.Context; import android.os.Build; -import android.os.Bundle; import android.os.HandlerThread; import android.os.Process; import android.os.RemoteException; @@ -36,12 +33,11 @@ import com.android.systemui.shared.recents.ISystemUiProxy; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.ActivityManagerWrapper; -import com.android.systemui.shared.system.BackgroundExecutor; import com.android.systemui.shared.system.KeyguardManagerCompat; -import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.shared.system.TaskStackChangeListener; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.function.Consumer; @@ -132,7 +128,7 @@ public class RecentsModel extends TaskStackChangeListener { } @Override - public void onTaskStackChangedBackground() { + public void onRecentTaskListUpdated() { if (!mThumbnailCache.isPreloadingEnabled()) { // Skip if we aren't preloading return; @@ -147,7 +143,11 @@ public class RecentsModel extends TaskStackChangeListener { // Keep the cache up to date with the latest thumbnails int runningTaskId = RecentsModel.getRunningTaskId(); mTaskList.getTaskKeys(mThumbnailCache.getCacheSize(), tasks -> { + Collection<Task.TaskKey> currentKeys = mThumbnailCache.getTaskKeys(); + List<Task.TaskKey> newKeys = new ArrayList<>(currentKeys.size()); + for (Task task : tasks) { + newKeys.add(task.key); if (task.key.id == runningTaskId) { // Skip the running task, it's not going to have an up-to-date snapshot by the // time the user next enters overview @@ -155,6 +155,13 @@ public class RecentsModel extends TaskStackChangeListener { } mThumbnailCache.updateThumbnailInCache(task); } + + // Remove all keys we had before but no longer are in recents now + currentKeys.removeAll(newKeys); + for (Task.TaskKey tk : currentKeys) { + mThumbnailCache.remove(tk); + } + }); } @@ -170,12 +177,6 @@ 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 57c5a2783..c7c44aea6 100644 --- a/quickstep/src/com/android/quickstep/TaskThumbnailCache.java +++ b/quickstep/src/com/android/quickstep/TaskThumbnailCache.java @@ -31,6 +31,7 @@ import com.android.systemui.shared.recents.model.TaskKeyLruCache; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.ActivityManagerWrapper; import java.util.ArrayList; +import java.util.Collection; import java.util.function.Consumer; public class TaskThumbnailCache { @@ -179,6 +180,10 @@ public class TaskThumbnailCache { return request; } + public Collection<TaskKey> getTaskKeys() { + return mCache.getValues(); + } + /** * Clears the cache. */ |