Merge "Fix issue #25727069: Top sleeping activity overrides foreground service"
am: 683168c10f
* commit '683168c10f79c7e0d8ce8c6817a9ecbdbaa350d3':
Fix issue #25727069: Top sleeping activity overrides foreground service
Change-Id: Ia558c036bc87686d46ccf0528dc9cd8d44085af5
This commit is contained in:
@@ -17720,7 +17720,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.
|
||||
@@ -17735,7 +17735,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;
|
||||
@@ -17788,8 +17788,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;
|
||||
@@ -17801,8 +17801,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;
|
||||
@@ -17837,7 +17837,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;
|
||||
|
||||
Reference in New Issue
Block a user