diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 12 |
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 5cf6d7d07af8..5a1930f904cf 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -5465,7 +5465,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)); @@ -5500,8 +5500,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; } @@ -5511,8 +5511,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(); } |