am 8928c727: Merge "[ActivityManager] Improve task order of getRunningTasks."

* commit '8928c7271bee4b31e94b3d9e8e6e756d5aa2bcff':
  [ActivityManager] Improve task order of getRunningTasks.
This commit is contained in:
Olawale Ogunwale
2015-04-07 13:02:37 +00:00
committed by Android Git Automerger

View File

@@ -3900,16 +3900,18 @@ final class ActivityStack {
}
void getTasksLocked(List<RunningTaskInfo> list, int callingUid, boolean allowed) {
boolean focusedStack = mStackSupervisor.getFocusedStack() == this;
boolean topTask = true;
for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
final TaskRecord task = mTaskHistory.get(taskNdx);
if (task.getTopActivity() == null) {
continue;
}
ActivityRecord r = null;
ActivityRecord top = null;
int numActivities = 0;
int numRunning = 0;
final ArrayList<ActivityRecord> activities = task.mActivities;
if (activities.isEmpty()) {
continue;
}
if (!allowed && !task.isHomeTask() && task.effectiveUid != callingUid) {
continue;
}
@@ -3938,14 +3940,18 @@ final class ActivityStack {
ci.baseActivity = r.intent.getComponent();
ci.topActivity = top.intent.getComponent();
ci.lastActiveTime = task.lastActiveTime;
if (focusedStack && topTask) {
// Give the latest time to ensure foreground task can be sorted
// at the first, because lastActiveTime of creating task is 0.
ci.lastActiveTime = System.currentTimeMillis();
topTask = false;
}
if (top.task != null) {
ci.description = top.task.lastDescription;
}
ci.numActivities = numActivities;
ci.numRunning = numRunning;
//System.out.println(
// "#" + maxNum + ": " + " descr=" + ci.description);
list.add(ci);
}
}