Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9418c24 authored by Olawale Ogunwale's avatar Olawale Ogunwale Committed by Android Git Automerger
Browse files

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

* commit '8928c727':
  [ActivityManager] Improve task order of getRunningTasks.
parents 43293fa8 8928c727
Loading
Loading
Loading
Loading
+11 −5
Original line number Original line Diff line number Diff line
@@ -3900,16 +3900,18 @@ final class ActivityStack {
    }
    }


    void getTasksLocked(List<RunningTaskInfo> list, int callingUid, boolean allowed) {
    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) {
        for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
            final TaskRecord task = mTaskHistory.get(taskNdx);
            final TaskRecord task = mTaskHistory.get(taskNdx);
            if (task.getTopActivity() == null) {
                continue;
            }
            ActivityRecord r = null;
            ActivityRecord r = null;
            ActivityRecord top = null;
            ActivityRecord top = null;
            int numActivities = 0;
            int numActivities = 0;
            int numRunning = 0;
            int numRunning = 0;
            final ArrayList<ActivityRecord> activities = task.mActivities;
            final ArrayList<ActivityRecord> activities = task.mActivities;
            if (activities.isEmpty()) {
                continue;
            }
            if (!allowed && !task.isHomeTask() && task.effectiveUid != callingUid) {
            if (!allowed && !task.isHomeTask() && task.effectiveUid != callingUid) {
                continue;
                continue;
            }
            }
@@ -3938,14 +3940,18 @@ final class ActivityStack {
            ci.baseActivity = r.intent.getComponent();
            ci.baseActivity = r.intent.getComponent();
            ci.topActivity = top.intent.getComponent();
            ci.topActivity = top.intent.getComponent();
            ci.lastActiveTime = task.lastActiveTime;
            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) {
            if (top.task != null) {
                ci.description = top.task.lastDescription;
                ci.description = top.task.lastDescription;
            }
            }
            ci.numActivities = numActivities;
            ci.numActivities = numActivities;
            ci.numRunning = numRunning;
            ci.numRunning = numRunning;
            //System.out.println(
            //    "#" + maxNum + ": " + " descr=" + ci.description);
            list.add(ci);
            list.add(ci);
        }
        }
    }
    }