summaryrefslogtreecommitdiffstats
path: root/quickstep/src
diff options
context:
space:
mode:
authorVinit Nayak <peanutbutter@google.com>2019-08-06 22:40:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-08-06 22:40:23 +0000
commit0664d9ad09b46760faf8a548645c99dfeaf04edd (patch)
tree0e414a69302b2fa1bd5e799be2776a38cbb5d02b /quickstep/src
parent5191e98a3fb759a778f99a76b788361678d87b31 (diff)
parenta04997b0811f2af79c0a91046d85d7e992496cab (diff)
downloadandroid_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')
-rw-r--r--quickstep/src/com/android/quickstep/RecentTasksList.java6
-rw-r--r--quickstep/src/com/android/quickstep/RecentsModel.java25
-rw-r--r--quickstep/src/com/android/quickstep/TaskThumbnailCache.java5
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.
*/