summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zhi An Ng <zhin@google.com> 2017-10-15 03:03:06 +0000
committer android-build-merger <android-build-merger@google.com> 2017-10-15 03:03:06 +0000
commitb2a38b1ced15ea499cd5ec71c5f2fbfbc7a86375 (patch)
treedec200ccfc746998c1407f42d73241d375461e8e
parent8c11b48c386b681b895b77c250251dab7a4932f5 (diff)
parent22681dc9033a0c086c7029052497ae04479b24b4 (diff)
Merge "Only show dialog if top app is killed" into oc-mr1-dev am: 4018898ae4
am: 22681dc903 Change-Id: I61d2d40eb473022222ca1e6aff4c5a2487dec29f
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 51dfa8bcda61..5f377f7aa7a6 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -5424,7 +5424,7 @@ public class ActivityManagerService extends IActivityManager.Stub
boolean doLowMem = app.instr == null;
boolean doOomAdj = doLowMem;
if (!app.killedByAm) {
- maybeNotifyTopAppKilled(app);
+ maybeNotifyTopAppKilledLocked(app);
Slog.i(TAG, "Process " + app.processName + " (pid " + pid + ") has died: "
+ ProcessList.makeOomAdjString(app.setAdj)
+ ProcessList.makeProcStateString(app.setProcState));
@@ -5459,8 +5459,8 @@ public class ActivityManagerService extends IActivityManager.Stub
}
/** Show system error dialog when a top app is killed by LMK */
- void maybeNotifyTopAppKilled(ProcessRecord app) {
- if (!shouldNotifyTopAppKilled(app)) {
+ void maybeNotifyTopAppKilledLocked(ProcessRecord app) {
+ if (!shouldNotifyTopAppKilledLocked(app)) {
return;
}
@@ -5470,8 +5470,10 @@ public class ActivityManagerService extends IActivityManager.Stub
}
/** Only show notification when the top app is killed on low ram devices */
- private boolean shouldNotifyTopAppKilled(ProcessRecord app) {
- return app.curSchedGroup == ProcessList.SCHED_GROUP_TOP_APP &&
+ private boolean shouldNotifyTopAppKilledLocked(ProcessRecord app) {
+ final ActivityRecord TOP_ACT = resumedAppLocked();
+ final ProcessRecord TOP_APP = TOP_ACT != null ? TOP_ACT.app : null;
+ return app == TOP_APP &&
ActivityManager.isLowRamDeviceStatic();
}