Add RecentTasks class to house recent tasks functionality.
Cleaned-up ActivityManagerService a little by moving recent
tasks functionality to new class RecentTasks.
Bug: 18556524
Change-Id: I4c877c9695b63d7fdb1b6b7addb737fd663e86c7
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index a612575..383f297 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -166,6 +166,8 @@
final ActivityManagerService mService;
+ private final RecentTasks mRecentTasks;
+
final ActivityStackSupervisorHandler mHandler;
/** Short cut */
@@ -298,8 +300,9 @@
}
}
- public ActivityStackSupervisor(ActivityManagerService service) {
+ public ActivityStackSupervisor(ActivityManagerService service, RecentTasks recentTasks) {
mService = service;
+ mRecentTasks = recentTasks;
mHandler = new ActivityStackSupervisorHandler(mService.mHandler.getLooper());
}
@@ -464,7 +467,7 @@
// Don't give up! Look in recents.
if (DEBUG_RECENTS) Slog.v(TAG, "Looking for task id=" + id + " in recents");
- TaskRecord task = mService.recentTaskForIdLocked(id);
+ TaskRecord task = mRecentTasks.taskForIdLocked(id);
if (task == null) {
if (DEBUG_RECENTS) Slog.d(TAG, "\tDidn't find task id=" + id + " in recents");
return null;
@@ -2912,7 +2915,7 @@
r.mLaunchTaskBehind = false;
final TaskRecord task = r.task;
task.setLastThumbnail(task.stack.screenshotActivities(r));
- mService.addRecentTaskLocked(task);
+ mRecentTasks.addLocked(task);
mService.notifyTaskStackChangedLocked();
mWindowManager.setAppVisibility(r.appToken, false);
}
@@ -3675,7 +3678,7 @@
ActivityContainer(int stackId) {
synchronized (mService) {
mStackId = stackId;
- mStack = new ActivityStack(this);
+ mStack = new ActivityStack(this, mRecentTasks);
mIdString = "ActivtyContainer{" + mStackId + "}";
if (DEBUG_STACK) Slog.d(TAG, "Creating " + this);
}