Use mock TaskStackChangeListeners in RecentsModelTest
- Also unregistered TaskStackChangeListeners and TaskIconCache listeners in RecentsModel.close(), so clean-up will happen if it's in a SandboxContext
Bug: 303259446
Test: RecentsModelTest
Change-Id: I438a499be8e737de7df79b670ecfd26f0ee70662
diff --git a/quickstep/src/com/android/quickstep/RecentsModel.java b/quickstep/src/com/android/quickstep/RecentsModel.java
index e358a8e..89351aa 100644
--- a/quickstep/src/com/android/quickstep/RecentsModel.java
+++ b/quickstep/src/com/android/quickstep/RecentsModel.java
@@ -78,6 +78,8 @@
private final TaskThumbnailCache mThumbnailCache;
private final ComponentCallbacks mCallbacks;
+ private final TaskStackChangeListeners mTaskStackChangeListeners;
+
private RecentsModel(Context context) {
this(context, new IconProvider(context));
}
@@ -89,13 +91,14 @@
SystemUiProxy.INSTANCE.get(context)),
new TaskIconCache(context, RECENTS_MODEL_EXECUTOR, iconProvider),
new TaskThumbnailCache(context, RECENTS_MODEL_EXECUTOR),
- iconProvider);
+ iconProvider,
+ TaskStackChangeListeners.getInstance());
}
@VisibleForTesting
RecentsModel(Context context, RecentTasksList taskList, TaskIconCache iconCache,
- TaskThumbnailCache thumbnailCache,
- IconProvider iconProvider) {
+ TaskThumbnailCache thumbnailCache, IconProvider iconProvider,
+ TaskStackChangeListeners taskStackChangeListeners) {
mContext = context;
mTaskList = taskList;
mIconCache = iconCache;
@@ -117,7 +120,8 @@
mCallbacks = null;
}
- TaskStackChangeListeners.getInstance().registerTaskStackListener(this);
+ mTaskStackChangeListeners = taskStackChangeListeners;
+ mTaskStackChangeListeners.registerTaskStackListener(this);
iconProvider.registerIconChangeListener(this, MAIN_EXECUTOR.getHandler());
}
@@ -358,6 +362,8 @@
if (mCallbacks != null) {
mContext.unregisterComponentCallbacks(mCallbacks);
}
+ mIconCache.removeTaskVisualsChangeListener();
+ mTaskStackChangeListeners.unregisterTaskStackListener(this);
}
/**
diff --git a/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java b/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java
index 08e0898..c552d83 100644
--- a/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java
+++ b/quickstep/tests/src/com/android/quickstep/RecentsModelTest.java
@@ -42,6 +42,7 @@
import com.android.launcher3.icons.IconProvider;
import com.android.quickstep.util.GroupTask;
import com.android.systemui.shared.recents.model.Task;
+import com.android.systemui.shared.system.TaskStackChangeListeners;
import org.junit.After;
import org.junit.Before;
@@ -93,7 +94,7 @@
when(mThumbnailCache.isPreloadingEnabled()).thenReturn(true);
mRecentsModel = new RecentsModel(mContext, mTasksList, mock(TaskIconCache.class),
- mThumbnailCache, mock(IconProvider.class));
+ mThumbnailCache, mock(IconProvider.class), mock(TaskStackChangeListeners.class));
mResource = mock(Resources.class);
when(mResource.getInteger((R.integer.recentsThumbnailCacheSize))).thenReturn(3);