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

Commit 7adcb4f1 authored by Sebastian Achim's avatar Sebastian Achim Committed by Edward Savage-Jones
Browse files

Wait for installd to start to perform dexopt operation

If there are any system_server jars that need dexopt then
we need to make sure that installd is started.

Issue: 160911601
Test: Manual - see issue
Change-Id: Iefcaf708b695504353f664b91017c9cd3a094f8e
parent 0292235a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -648,8 +648,6 @@ public class ZygoteInit {
     */
    private static void performSystemServerDexOpt(String classPath) {
        final String[] classPathElements = classPath.split(":");
        final IInstalld installd = IInstalld.Stub
                .asInterface(ServiceManager.getService("installd"));
        final String instructionSet = VMRuntime.getRuntime().vmInstructionSet();

        String classPathForElement = "";
@@ -686,6 +684,10 @@ public class ZygoteInit {
                final String uuid = StorageManager.UUID_PRIVATE_INTERNAL;
                final String seInfo = null;
                final int targetSdkVersion = 0;  // SystemServer targets the system's SDK version
                // Wait for installd to be made available
                IInstalld installd = IInstalld.Stub.asInterface(
                        ServiceManager.waitForService("installd"));

                try {
                    installd.dexopt(classPathElement, Process.SYSTEM_UID, packageName,
                            instructionSet, dexoptNeeded, outputPath, dexFlags, systemServerFilter,