diff options
| author | 2019-09-09 18:08:29 -0700 | |
|---|---|---|
| committer | 2019-09-09 18:08:29 -0700 | |
| commit | 7d664e5437f5b781cf88245991372ff8fd21997e (patch) | |
| tree | 3689cb6bd8a5c96a7d0e382f396b5d33cb023a47 | |
| parent | c6c6534bfafa948401adefc081cad14e4a572fb6 (diff) | |
| parent | afeaaa3c34bd53e49c837e35c9449f6c7138d19f (diff) | |
Merge "Proper fix for the LRU IndexOutOfBoundsException" into qt-qpr1-dev
am: afeaaa3c34
Change-Id: I8995547b4c58d86b676de81fd8818de199a005e2
| -rw-r--r-- | services/core/java/com/android/server/am/ProcessList.java | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index 3d598ddbd030..3c098d1a6653 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -2097,10 +2097,10 @@ public final class ProcessList { } } } - if (lrui <= mLruProcessActivityStart) { + if (lrui < mLruProcessActivityStart) { mLruProcessActivityStart--; } - if (lrui <= mLruProcessServiceStart) { + if (lrui < mLruProcessServiceStart) { mLruProcessServiceStart--; } mLruProcesses.remove(lrui); @@ -2632,7 +2632,7 @@ public final class ProcessList { if (!moved) { // Goes to the end of the group. mLruProcesses.remove(i); - mLruProcesses.add(endIndex - 1, subProc); + mLruProcesses.add(endIndex, subProc); if (DEBUG_LRU) Slog.d(TAG_LRU, "Moving " + subProc + " from position " + i + " to end of group @ " @@ -2877,15 +2877,6 @@ public final class ProcessList { pos--; } mLruProcesses.add(pos, app); - if (pos == mLruProcessActivityStart) { - mLruProcessActivityStart++; - } - if (pos == mLruProcessServiceStart) { - // Unless {@code #hasService} is implemented, currently the starting position - // for activity and service are the same, so the incoming position may equal to - // the starting position of service. - mLruProcessServiceStart++; - } // If this process is part of a group, need to pull up any other processes // in that group to be with it. int endIndex = pos - 1; |