Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90024ace authored by Ng Zhi An's avatar Ng Zhi An
Browse files

Only show dialog if top app is killed

This changes the check from only looking at the
app's curSchedGroup to checking if the app that is
killed matches the current top app (retrieved
using resumedAppLocked)

Bug: 67513077
Bug: 67416130
Test: manual
Change-Id: Idda4c4b21081737ee3ab2101a8cf2a94f0d8df23
parent 0e4fcfe9
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -5459,7 +5459,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));
@@ -5494,8 +5494,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;
        }
@@ -5505,8 +5505,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();
    }