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

Commit 02958c9a authored by Gavin Corkery's avatar Gavin Corkery
Browse files

Start SupplementalProcessManagerService

Calls the SupplementalProcessFrameworkInitializer to
register the supplemental process service. This service
is started from SystemServer.

Test: Manual. Check logcat to ensure service has started
Bug: 204989700
Change-Id: Iaafb45fcc0d0be2c15bb6a6206114d59fe4bbf17
parent 1ed8ac99
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -10792,6 +10792,7 @@ package android.content {
    field public static final String STATUS_BAR_SERVICE = "statusbar";
    field public static final String STORAGE_SERVICE = "storage";
    field public static final String STORAGE_STATS_SERVICE = "storagestats";
    field public static final String SUPPLEMENTAL_PROCESS_SERVICE = "supplemental_process";
    field public static final String SYSTEM_HEALTH_SERVICE = "systemhealth";
    field public static final String TELECOM_SERVICE = "telecom";
    field public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
+2 −0
Original line number Diff line number Diff line
@@ -204,6 +204,7 @@ import android.service.oemlock.OemLockManager;
import android.service.persistentdata.IPersistentDataBlockService;
import android.service.persistentdata.PersistentDataBlockManager;
import android.service.vr.IVrManager;
import android.supplementalprocess.SupplementalProcessFrameworkInitializer;
import android.telecom.TelecomManager;
import android.telephony.MmsManager;
import android.telephony.TelephonyFrameworkInitializer;
@@ -1527,6 +1528,7 @@ public final class SystemServiceRegistry {
            MediaFrameworkInitializer.registerServiceWrappers();
            RoleFrameworkInitializer.registerServiceWrappers();
            SchedulingFrameworkInitializer.registerServiceWrappers();
            SupplementalProcessFrameworkInitializer.registerServiceWrappers();
            UwbFrameworkInitializer.registerServiceWrappers();
        } finally {
            // If any of the above code throws, we're in a pretty bad shape and the process
+8 −0
Original line number Diff line number Diff line
@@ -3813,6 +3813,7 @@ public abstract class Context {
            //@hide: SPEECH_RECOGNITION_SERVICE,
            UWB_SERVICE,
            MEDIA_METRICS_SERVICE,
            SUPPLEMENTAL_PROCESS_SERVICE,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface ServiceName {}
@@ -5828,6 +5829,13 @@ public abstract class Context {
     */
    public static final String LOCALE_SERVICE = "locale";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a Supplemental Process Manager.
     *
     * @see #getSystemService(String)
     */
    public static final String SUPPLEMENTAL_PROCESS_SERVICE = "supplemental_process";

    /**
     * Determine whether the given permission is allowed for a particular
     * process and user ID running in the system.
+11 −0
Original line number Diff line number Diff line
@@ -395,6 +395,11 @@ public final class SystemServer implements Dumpable {
            "/apex/com.android.uwb/javalib/service-uwb.jar";
    private static final String UWB_SERVICE_CLASS = "com.android.server.uwb.UwbService";

    private static final String SUPPLEMENTALPROCESS_APEX_PATH =
            "/apex/com.android.supplementalprocess/javalib/service-supplementalprocess.jar";
    private static final String SUPPLEMENTALPROCESS_SERVICE_CLASS =
            "com.android.server.supplementalprocess.SupplementalProcessManagerService$Lifecycle";

    private static final String TETHERING_CONNECTOR_CLASS = "android.net.ITetheringConnector";

    private static final String PERSISTENT_DATA_BLOCK_PROP = "ro.frp.pst";
@@ -2537,6 +2542,12 @@ public final class SystemServer implements Dumpable {
        mSystemServiceManager.startService(IncidentCompanionService.class);
        t.traceEnd();

        // Supplemental Process
        t.traceBegin("StartSupplementalProcessManagerService");
        mSystemServiceManager.startServiceFromJar(SUPPLEMENTALPROCESS_SERVICE_CLASS,
                SUPPLEMENTALPROCESS_APEX_PATH);
        t.traceEnd();

        if (safeMode) {
            mActivityManagerService.enterSafeMode();
        }