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

Commit f0589420 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Jeff Sharkey
Browse files

Update PreBootBroadcaster to use ProcessRecord.

In order to receive valid "resultTo" responses, we now need to know
the ProcessRecord to deliver them through, which in this case is the
"system_server" process.

Bug: 251486235
Test: manual
Change-Id: Iaf1b2e5d6a1da5bc59e297d82d941c6d4cfe7ab3
parent 483cac85
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ public abstract class PreBootBroadcaster extends IIntentReceiver.Stub {
    private static final String TAG = "PreBootBroadcaster";

    private final ActivityManagerService mService;
    private final ProcessRecord mSystemApp;
    private final int mUserId;
    private final ProgressReporter mProgress;
    private final boolean mQuiet;
@@ -69,6 +70,9 @@ public abstract class PreBootBroadcaster extends IIntentReceiver.Stub {
    public PreBootBroadcaster(ActivityManagerService service, int userId,
            ProgressReporter progress, boolean quiet) {
        mService = service;
        synchronized (mService) {
            mSystemApp = mService.getProcessRecordLocked("system", android.os.Process.SYSTEM_UID);
        }
        mUserId = userId;
        mProgress = progress;
        mQuiet = quiet;
@@ -123,8 +127,8 @@ public abstract class PreBootBroadcaster extends IIntentReceiver.Stub {
                TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED,
                REASON_PRE_BOOT_COMPLETED, "");
        synchronized (mService) {
            mService.broadcastIntentLocked(null, null, null, mIntent, null, this, 0, null, null,
                    null, null, null, AppOpsManager.OP_NONE, bOptions.toBundle(), true,
            mService.broadcastIntentLocked(mSystemApp, "android", null, mIntent, null, this, 0,
                    null, null, null, null, null, AppOpsManager.OP_NONE, bOptions.toBundle(), true,
                    false, ActivityManagerService.MY_PID,
                    Process.SYSTEM_UID, Binder.getCallingUid(), Binder.getCallingPid(), mUserId);
        }