diff options
| author | 2022-03-10 00:51:45 +0000 | |
|---|---|---|
| committer | 2022-03-10 00:51:45 +0000 | |
| commit | a5125067a047047e1fcc1c57b674fe1ea3662996 (patch) | |
| tree | 3c3caa71ffdde367c8cdf70f72e3a3b12f4f4745 | |
| parent | 050d61f1b301f501e940d28cf63ba7d6b5d0ff6d (diff) | |
| parent | e55bd1600ffbc31c2acac5178ad1fc0f90d8cc09 (diff) | |
Merge "Fix the same active time tasks disappeared on RunngintTasks" am: e55bd1600f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2007631
Change-Id: Ia42e95fc32765a6163ddbef0da0648764ead6a1b
| -rw-r--r-- | services/core/java/com/android/server/wm/RunningTasks.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/RunningTasks.java b/services/core/java/com/android/server/wm/RunningTasks.java index 9864297de529..d31b007c56af 100644 --- a/services/core/java/com/android/server/wm/RunningTasks.java +++ b/services/core/java/com/android/server/wm/RunningTasks.java @@ -43,7 +43,11 @@ class RunningTasks { // Comparator to sort by last active time (descending) private static final Comparator<Task> LAST_ACTIVE_TIME_COMPARATOR = - (o1, o2) -> Long.signum(o2.lastActiveTime - o1.lastActiveTime); + (o1, o2) -> { + return o1.lastActiveTime == o2.lastActiveTime + ? Integer.signum(o2.mTaskId - o1.mTaskId) : + Long.signum(o2.lastActiveTime - o1.lastActiveTime); + }; private final TreeSet<Task> mTmpSortedSet = new TreeSet<>(LAST_ACTIVE_TIME_COMPARATOR); |