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

Commit 43f18ea4 authored by Songchun Fan's avatar Songchun Fan
Browse files

add IncrementalManagerService to system server

Test: boots
Change-Id: Ib704e986535ca422e82784b985ff7ef1acc68277
parent e65b0918
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -152,6 +152,8 @@ import android.os.Vibrator;
import android.os.health.SystemHealthManager;
import android.os.health.SystemHealthManager;
import android.os.image.DynamicSystemManager;
import android.os.image.DynamicSystemManager;
import android.os.image.IDynamicSystemService;
import android.os.image.IDynamicSystemService;
import android.os.incremental.IIncrementalManagerNative;
import android.os.incremental.IncrementalManager;
import android.os.storage.StorageManager;
import android.os.storage.StorageManager;
import android.permission.PermissionControllerManager;
import android.permission.PermissionControllerManager;
import android.permission.PermissionManager;
import android.permission.PermissionManager;
@@ -1225,6 +1227,20 @@ public final class SystemServiceRegistry {
                                Context.DATA_LOADER_MANAGER_SERVICE);
                                Context.DATA_LOADER_MANAGER_SERVICE);
                        return new DataLoaderManager(IDataLoaderManager.Stub.asInterface(b));
                        return new DataLoaderManager(IDataLoaderManager.Stub.asInterface(b));
                    }});
                    }});
        //TODO(b/136132412): refactor this: 1) merge IIncrementalManager.aidl and
        //IIncrementalManagerNative.aidl, 2) implement the binder interface in
        //IncrementalManagerService.java, 3) use JNI to call native functions
        registerService(Context.INCREMENTAL_SERVICE, IncrementalManager.class,
                new CachedServiceFetcher<IncrementalManager>() {
                    @Override
                    public IncrementalManager createService(ContextImpl ctx) {
                        IBinder b = ServiceManager.getService(Context.INCREMENTAL_SERVICE);
                        if (b == null) {
                            return null;
                        }
                        return new IncrementalManager(
                                IIncrementalManagerNative.Stub.asInterface(b));
                    }});
        //CHECKSTYLE:ON IndentationCheck
        //CHECKSTYLE:ON IndentationCheck


        sInitializing = true;
        sInitializing = true;
+13 −0
Original line number Original line Diff line number Diff line
@@ -105,6 +105,7 @@ import com.android.server.emergency.EmergencyAffordanceService;
import com.android.server.gpu.GpuService;
import com.android.server.gpu.GpuService;
import com.android.server.hdmi.HdmiControlService;
import com.android.server.hdmi.HdmiControlService;
import com.android.server.incident.IncidentCompanionService;
import com.android.server.incident.IncidentCompanionService;
import com.android.server.incremental.IncrementalManagerService;
import com.android.server.input.InputManagerService;
import com.android.server.input.InputManagerService;
import com.android.server.inputmethod.InputMethodManagerService;
import com.android.server.inputmethod.InputMethodManagerService;
import com.android.server.inputmethod.InputMethodSystemProperty;
import com.android.server.inputmethod.InputMethodSystemProperty;
@@ -323,6 +324,7 @@ public final class SystemServer {
    private ContentResolver mContentResolver;
    private ContentResolver mContentResolver;
    private EntropyMixer mEntropyMixer;
    private EntropyMixer mEntropyMixer;
    private DataLoaderManagerService mDataLoaderManagerService;
    private DataLoaderManagerService mDataLoaderManagerService;
    private IncrementalManagerService mIncrementalManagerService;


    private boolean mOnlyCore;
    private boolean mOnlyCore;
    private boolean mFirstBoot;
    private boolean mFirstBoot;
@@ -705,6 +707,11 @@ public final class SystemServer {
                DataLoaderManagerService.class);
                DataLoaderManagerService.class);
        t.traceEnd();
        t.traceEnd();


        // Incremental service needs to be started before package manager
        t.traceBegin("StartIncrementalManagerService");
        mIncrementalManagerService = IncrementalManagerService.start(mSystemContext);
        t.traceEnd();

        // Power manager needs to be started early because other services need it.
        // Power manager needs to be started early because other services need it.
        // Native daemons may be watching for it to be registered so it must be ready
        // Native daemons may be watching for it to be registered so it must be ready
        // to handle incoming binder calls immediately (including being able to verify
        // to handle incoming binder calls immediately (including being able to verify
@@ -2061,6 +2068,12 @@ public final class SystemServer {
        mPackageManagerService.systemReady();
        mPackageManagerService.systemReady();
        t.traceEnd();
        t.traceEnd();


        if (mIncrementalManagerService != null) {
            t.traceBegin("MakeIncrementalManagerServiceReady");
            mIncrementalManagerService.systemReady();
            t.traceEnd();
        }

        t.traceBegin("MakeDisplayManagerServiceReady");
        t.traceBegin("MakeDisplayManagerServiceReady");
        try {
        try {
            // TODO: use boot phase and communicate these flags some other way
            // TODO: use boot phase and communicate these flags some other way