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

Commit bde4635f authored by Islam Elbanna's avatar Islam Elbanna Committed by Automerger Merge Worker
Browse files

Merge "Allow profiling for standalone system server jars." am: bda789c6 am: 8ac01a28

parents 54d2af13 8ac01a28
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -517,7 +517,12 @@ public class ZygoteInit {
            if (shouldProfileSystemServer() && (Build.IS_USERDEBUG || Build.IS_ENG)) {
                try {
                    Log.d(TAG, "Preparing system server profile");
                    prepareSystemServerProfile(systemServerClasspath);
                    final String standaloneSystemServerJars =
                            Os.getenv("STANDALONE_SYSTEMSERVER_JARS");
                    final String systemServerPaths = standaloneSystemServerJars != null
                            ? String.join(":", systemServerClasspath, standaloneSystemServerJars)
                            : systemServerClasspath;
                    prepareSystemServerProfile(systemServerPaths);
                } catch (Exception e) {
                    Log.wtf(TAG, "Failed to set up system server profile", e);
                }
@@ -603,12 +608,12 @@ public class ZygoteInit {
     * permissions. From the installer perspective the system server is a regular package which can
     * capture profile information.
     */
    private static void prepareSystemServerProfile(String systemServerClasspath)
    private static void prepareSystemServerProfile(String systemServerPaths)
            throws RemoteException {
        if (systemServerClasspath.isEmpty()) {
        if (systemServerPaths.isEmpty()) {
            return;
        }
        String[] codePaths = systemServerClasspath.split(":");
        String[] codePaths = systemServerPaths.split(":");

        final IInstalld installd = IInstalld.Stub
                .asInterface(ServiceManager.getService("installd"));
+5 −0
Original line number Diff line number Diff line
@@ -339,6 +339,11 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub {
        String classpath = String.join(":", Os.getenv("BOOTCLASSPATH"),
                Os.getenv("SYSTEMSERVERCLASSPATH"));

        final String standaloneSystemServerJars = Os.getenv("STANDALONE_SYSTEMSERVER_JARS");
        if (standaloneSystemServerJars != null) {
            classpath = String.join(":", classpath, standaloneSystemServerJars);
        }

        // Create the snapshot.
        createProfileSnapshot(BOOT_IMAGE_ANDROID_PACKAGE, BOOT_IMAGE_PROFILE_NAME, classpath,
                /*appId*/ -1, callback);