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

Commit 4dcd2ee8 authored by The Android Open Source Project's avatar The Android Open Source Project
Browse files

merge from open-source master

parents fc7028f1 7bb2581e
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -1905,9 +1905,14 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                + " app=" + app + " knownToBeDead=" + knownToBeDead
                + " thread=" + (app != null ? app.thread : null)
                + " pid=" + (app != null ? app.pid : -1));
        if (app != null &&
                (!knownToBeDead || app.thread == null) && app.pid > 0) {
        if (app != null && app.pid > 0) {
            if (!knownToBeDead || app.thread == null) {
                return app;
            } else {
                // An application record is attached to a previous process,
                // clean it up now.
                handleAppDiedLocked(app, true);
            }
        }
        String hostingNameStr = hostingName != null
@@ -4553,7 +4558,9 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
        mProcDeaths[0]++;
        
        if (app.thread != null && app.thread.asBinder() == thread.asBinder()) {
        // Clean up already done if the process has been re-started.
        if (app.pid == pid && app.thread != null &&
                app.thread.asBinder() == thread.asBinder()) {
            Log.i(TAG, "Process " + app.processName + " (pid " + pid
                    + ") has died.");
            EventLog.writeEvent(LOG_AM_PROCESS_DIED, app.pid, app.processName);
@@ -4603,6 +4610,11 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                    scheduleAppGcsLocked();
                }
            }
        } else if (app.pid != pid) {
            // A new process has already been started.
            Log.i(TAG, "Process " + app.processName + " (pid " + pid
                    + ") has died and restarted (pid " + app.pid + ").");
            EventLog.writeEvent(LOG_AM_PROCESS_DIED, pid, app.processName);
        } else if (Config.LOGD) {
            Log.d(TAG, "Received spurious death notification for thread "
                    + thread.asBinder());
@@ -5424,6 +5436,8 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                finishReceiverLocked(br.receiver, br.resultCode, br.resultData,
                        br.resultExtras, br.resultAbort, true);
                scheduleBroadcastsLocked();
                // We need to reset the state if we fails to start the receiver.
                br.state = BroadcastRecord.IDLE;
            }
        }