Merge "Fix issue #25727069: Top sleeping activity overrides foreground service"
This commit is contained in:
@@ -17747,7 +17747,7 @@ public final class ActivityManagerService extends ActivityManagerNative
|
|||||||
|
|
||||||
app.systemNoUi = false;
|
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
|
// Determine the importance of the process, starting with most
|
||||||
// important to least, and assign an appropriate OOM adjustment.
|
// important to least, and assign an appropriate OOM adjustment.
|
||||||
@@ -17762,7 +17762,7 @@ public final class ActivityManagerService extends ActivityManagerNative
|
|||||||
schedGroup = Process.THREAD_GROUP_DEFAULT;
|
schedGroup = Process.THREAD_GROUP_DEFAULT;
|
||||||
app.adjType = "top-activity";
|
app.adjType = "top-activity";
|
||||||
foregroundActivities = true;
|
foregroundActivities = true;
|
||||||
procState = PROCESS_STATE_TOP;
|
procState = PROCESS_STATE_CUR_TOP;
|
||||||
} else if (app.instrumentationClass != null) {
|
} else if (app.instrumentationClass != null) {
|
||||||
// Don't want to kill running instrumentation.
|
// Don't want to kill running instrumentation.
|
||||||
adj = ProcessList.FOREGROUND_APP_ADJ;
|
adj = ProcessList.FOREGROUND_APP_ADJ;
|
||||||
@@ -17815,8 +17815,8 @@ public final class ActivityManagerService extends ActivityManagerNative
|
|||||||
adj = ProcessList.VISIBLE_APP_ADJ;
|
adj = ProcessList.VISIBLE_APP_ADJ;
|
||||||
app.adjType = "visible";
|
app.adjType = "visible";
|
||||||
}
|
}
|
||||||
if (procState > PROCESS_STATE_TOP) {
|
if (procState > PROCESS_STATE_CUR_TOP) {
|
||||||
procState = PROCESS_STATE_TOP;
|
procState = PROCESS_STATE_CUR_TOP;
|
||||||
}
|
}
|
||||||
schedGroup = Process.THREAD_GROUP_DEFAULT;
|
schedGroup = Process.THREAD_GROUP_DEFAULT;
|
||||||
app.cached = false;
|
app.cached = false;
|
||||||
@@ -17828,8 +17828,8 @@ public final class ActivityManagerService extends ActivityManagerNative
|
|||||||
adj = ProcessList.PERCEPTIBLE_APP_ADJ;
|
adj = ProcessList.PERCEPTIBLE_APP_ADJ;
|
||||||
app.adjType = "pausing";
|
app.adjType = "pausing";
|
||||||
}
|
}
|
||||||
if (procState > PROCESS_STATE_TOP) {
|
if (procState > PROCESS_STATE_CUR_TOP) {
|
||||||
procState = PROCESS_STATE_TOP;
|
procState = PROCESS_STATE_CUR_TOP;
|
||||||
}
|
}
|
||||||
schedGroup = Process.THREAD_GROUP_DEFAULT;
|
schedGroup = Process.THREAD_GROUP_DEFAULT;
|
||||||
app.cached = false;
|
app.cached = false;
|
||||||
@@ -17864,7 +17864,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) {
|
if (app.foregroundServices) {
|
||||||
// The user is aware of this app, so make it visible.
|
// The user is aware of this app, so make it visible.
|
||||||
adj = ProcessList.PERCEPTIBLE_APP_ADJ;
|
adj = ProcessList.PERCEPTIBLE_APP_ADJ;
|
||||||
|
|||||||
Reference in New Issue
Block a user