summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author William McVicker <willmcvicker@google.com> 2022-03-10 00:51:45 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-03-10 00:51:45 +0000
commita5125067a047047e1fcc1c57b674fe1ea3662996 (patch)
tree3c3caa71ffdde367c8cdf70f72e3a3b12f4f4745
parent050d61f1b301f501e940d28cf63ba7d6b5d0ff6d (diff)
parente55bd1600ffbc31c2acac5178ad1fc0f90d8cc09 (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.java6
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);