diff options
| author | 2015-11-18 02:05:30 +0000 | |
|---|---|---|
| committer | 2015-11-18 02:05:30 +0000 | |
| commit | cc2925c45b1f9475ebb74ddfef29687e2473f10a (patch) | |
| tree | 4af77ff646a05f21842f8979253a4f1d6816cb44 | |
| parent | 28d56151474bb97093a4bae482f7d8752030d8fa (diff) | |
| parent | 3ea71cf2635bcd63b7d8f7d68be89e3bff90dc78 (diff) | |
Merge "Fix issue #25727069: Top sleeping activity overrides foreground service"
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 025126ff6afd..6e6bfb791ae7 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -17969,7 +17969,7 @@ public final class ActivityManagerService extends ActivityManagerNative app.systemNoUi = false; - final int PROCESS_STATE_TOP = mTopProcessState; + final int PROCESS_STATE_CUR_TOP = mTopProcessState; // Determine the importance of the process, starting with most // important to least, and assign an appropriate OOM adjustment. @@ -17984,7 +17984,7 @@ public final class ActivityManagerService extends ActivityManagerNative schedGroup = Process.THREAD_GROUP_DEFAULT; app.adjType = "top-activity"; foregroundActivities = true; - procState = PROCESS_STATE_TOP; + procState = PROCESS_STATE_CUR_TOP; } else if (app.instrumentationClass != null) { // Don't want to kill running instrumentation. adj = ProcessList.FOREGROUND_APP_ADJ; @@ -18038,8 +18038,8 @@ public final class ActivityManagerService extends ActivityManagerNative adj = ProcessList.VISIBLE_APP_ADJ; app.adjType = "visible"; } - if (procState > PROCESS_STATE_TOP) { - procState = PROCESS_STATE_TOP; + if (procState > PROCESS_STATE_CUR_TOP) { + procState = PROCESS_STATE_CUR_TOP; } schedGroup = Process.THREAD_GROUP_DEFAULT; app.cached = false; @@ -18057,8 +18057,8 @@ public final class ActivityManagerService extends ActivityManagerNative adj = ProcessList.PERCEPTIBLE_APP_ADJ; app.adjType = "pausing"; } - if (procState > PROCESS_STATE_TOP) { - procState = PROCESS_STATE_TOP; + if (procState > PROCESS_STATE_CUR_TOP) { + procState = PROCESS_STATE_CUR_TOP; } schedGroup = Process.THREAD_GROUP_DEFAULT; app.cached = false; @@ -18096,7 +18096,8 @@ public final class ActivityManagerService extends ActivityManagerNative } } - if (adj > ProcessList.PERCEPTIBLE_APP_ADJ) { + if (adj > ProcessList.PERCEPTIBLE_APP_ADJ + || procState > ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE) { if (app.foregroundServices) { // The user is aware of this app, so make it visible. adj = ProcessList.PERCEPTIBLE_APP_ADJ; |