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

Commit f9b64545 authored by Zhi An Ng's avatar Zhi An Ng
Browse files

DO NOT MERGE Revert "Show dialog if top app is killed by lmk"

This reverts commit 84a2e2a0.

Comments in ag/3029299 for more details. This revert is dependent on another revert ag/3074066, which has been merged.

Reason for revert: No mechanism to check if an app is killed because of low memory killer

Bug:65488249
Test: manual
Change-Id: I2940a5b9f22f3428432537acbf64a10f81b0b9d0
parent d6065d16
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -2679,8 +2679,6 @@
    <string name="yes">OK</string>
    <!-- Preference framework strings. -->
    <string name="no">Cancel</string>
    <!-- Preference framework strings. -->
    <string name="close">CLOSE</string>
    <!-- This is the generic "attention" string to be used in attention dialogs.  Typically
         combined with setIconAttribute(android.R.attr.alertDialogIcon)
         (or setIcon(android.R.drawable.ic_dialog_alert) on legacy versions of the platform) -->
@@ -2813,11 +2811,6 @@
    <!-- [CHAR LIMIT=200] Compat mode dialog: hint to re-enable compat mode dialog. -->
    <string name="screen_compat_mode_hint">Re-enable this in System settings &gt; Apps &gt; Downloaded.</string>

    <!-- Text of the alert that is displayed when a top application is killed by lmk. -->
    <string name="top_app_killed_title">App isn\'t responding</string>
    <!-- Top app killed by lmk dialog message. -->
    <string name="top_app_killed_message"><xliff:g id="app_name">%1$s</xliff:g> may be using too much memory.</string>

    <!-- [CHAR LIMIT=200] Unsupported display size dialog: message. Refers to "Display size" setting. -->
    <string name="unsupported_display_size_message"><xliff:g id="app_name">%1$s</xliff:g> does not support the current Display size setting and may behave unexpectedly.</string>
    <!-- [CHAR LIMIT=50] Unsupported display size dialog: check box label. -->
+0 −3
Original line number Diff line number Diff line
@@ -1890,9 +1890,6 @@
  <java-symbol type="string" name="anr_application_process" />
  <java-symbol type="string" name="anr_process" />
  <java-symbol type="string" name="anr_title" />
  <java-symbol type="string" name="top_app_killed_title" />
  <java-symbol type="string" name="top_app_killed_message" />
  <java-symbol type="string" name="close" />
  <java-symbol type="string" name="car_mode_disable_notification_message" />
  <java-symbol type="string" name="car_mode_disable_notification_title" />
  <java-symbol type="string" name="chooser_wallpaper" />
+0 −30
Original line number Diff line number Diff line
@@ -1690,7 +1690,6 @@ public class ActivityManagerService extends IActivityManager.Stub
    static final int SERVICE_FOREGROUND_CRASH_MSG = 69;
    static final int DISPATCH_OOM_ADJ_OBSERVER_MSG = 70;
    static final int START_USER_SWITCH_FG_MSG = 712;
    static final int TOP_APP_KILLED_BY_LMK_MSG = 73;
    static final int NOTIFY_VR_KEYGUARD_MSG = 74;
    static final int FIRST_ACTIVITY_STACK_MSG = 100;
@@ -1923,17 +1922,6 @@ public class ActivityManagerService extends IActivityManager.Stub
                dispatchProcessDied(pid, uid);
                break;
            }
            case TOP_APP_KILLED_BY_LMK_MSG: {
                final String appName = (String) msg.obj;
                final AlertDialog d = new BaseErrorDialog(mUiContext);
                d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
                d.setTitle(mUiContext.getText(R.string.top_app_killed_title));
                d.setMessage(mUiContext.getString(R.string.top_app_killed_message, appName));
                d.setButton(DialogInterface.BUTTON_POSITIVE, mUiContext.getText(R.string.close),
                        obtainMessage(DISMISS_DIALOG_UI_MSG, d));
                d.show();
                break;
            }
            case DISPATCH_UIDS_CHANGED_UI_MSG: {
                dispatchUidsChanged();
            } break;
@@ -5459,7 +5447,6 @@ public class ActivityManagerService extends IActivityManager.Stub
            boolean doLowMem = app.instr == null;
            boolean doOomAdj = doLowMem;
            if (!app.killedByAm) {
                maybeNotifyTopAppKilled(app);
                Slog.i(TAG, "Process " + app.processName + " (pid " + pid + ") has died: "
                        + ProcessList.makeOomAdjString(app.setAdj)
                        + ProcessList.makeProcStateString(app.setProcState));
@@ -5493,23 +5480,6 @@ 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)) {
            return;
        }
        Message msg = mHandler.obtainMessage(TOP_APP_KILLED_BY_LMK_MSG);
        msg.obj = mContext.getPackageManager().getApplicationLabel(app.info);
        mUiHandler.sendMessage(msg);
    }
    /** 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 &&
            ActivityManager.isLowRamDeviceStatic();
    }
    /**
     * If a stack trace dump file is configured, dump process stack traces.
     * @param clearTraces causes the dump file to be erased prior to the new