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

Commit 31762dd9 authored by Calin Juravle's avatar Calin Juravle Committed by Android (Google) Code Review
Browse files

Merge "Pass SElinux info to installd dexopt" into oc-dev

parents ff15be67 811a75a0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -548,10 +548,11 @@ public class ZygoteInit {
                final int dexFlags = 0;
                final String compilerFilter = "speed";
                final String uuid = StorageManager.UUID_PRIVATE_INTERNAL;
                final String seInfo = null;
                try {
                    installd.dexopt(classPathElement, Process.SYSTEM_UID, packageName,
                            instructionSet, dexoptNeeded, outputPath, dexFlags, compilerFilter,
                            uuid, sharedLibraries);
                            uuid, sharedLibraries, seInfo);
                } catch (RemoteException | ServiceSpecificException e) {
                    // Ignore (but log), we need this on the classpath for fallback mode.
                    Log.w(TAG, "Failed compiling classpath element for system server: "
+3 −2
Original line number Diff line number Diff line
@@ -279,13 +279,14 @@ public class Installer extends SystemService {

    public void dexopt(String apkPath, int uid, @Nullable String pkgName, String instructionSet,
            int dexoptNeeded, @Nullable String outputPath, int dexFlags,
            String compilerFilter, @Nullable String volumeUuid, @Nullable String sharedLibraries)
            String compilerFilter, @Nullable String volumeUuid, @Nullable String sharedLibraries,
            @Nullable String seInfo)
            throws InstallerException {
        assertValidInstructionSet(instructionSet);
        if (!checkBeforeRemote()) return;
        try {
            mInstalld.dexopt(apkPath, uid, pkgName, instructionSet, dexoptNeeded, outputPath,
                    dexFlags, compilerFilter, volumeUuid, sharedLibraries);
                    dexFlags, compilerFilter, volumeUuid, sharedLibraries, seInfo);
        } catch (Exception e) {
            throw InstallerException.from(e);
        }
+3 −2
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
            public void dexopt(String apkPath, int uid, @Nullable String pkgName,
                    String instructionSet, int dexoptNeeded, @Nullable String outputPath,
                    int dexFlags, String compilerFilter, @Nullable String volumeUuid,
                    @Nullable String sharedLibraries) throws InstallerException {
                    @Nullable String sharedLibraries, @Nullable String seInfo) throws InstallerException {
                commands.add(buildCommand("dexopt",
                        apkPath,
                        uid,
@@ -289,7 +289,8 @@ public class OtaDexoptService extends IOtaDexopt.Stub {
                        dexFlags,
                        compilerFilter,
                        volumeUuid,
                        sharedLibraries));
                        sharedLibraries,
                        seInfo));
            }
        };

+2 −2
Original line number Diff line number Diff line
@@ -204,7 +204,7 @@ public class PackageDexOptimizer {
            long startTime = System.currentTimeMillis();

            mInstaller.dexopt(path, uid, pkg.packageName, isa, dexoptNeeded, oatDir, dexoptFlags,
                    compilerFilter, pkg.volumeUuid, sharedLibrariesPath);
                    compilerFilter, pkg.volumeUuid, sharedLibrariesPath, pkg.applicationInfo.seInfo);

            if (packageStats != null) {
                long endTime = System.currentTimeMillis();
@@ -283,7 +283,7 @@ public class PackageDexOptimizer {
                // TODO(calin): maybe add a separate call.
                mInstaller.dexopt(path, info.uid, info.packageName, isa, /*dexoptNeeded*/ 0,
                        /*oatDir*/ null, dexoptFlags,
                        compilerFilter, info.volumeUuid, SKIP_SHARED_LIBRARY_CHECK);
                        compilerFilter, info.volumeUuid, SKIP_SHARED_LIBRARY_CHECK, info.seInfoUser);
            }

            return DEX_OPT_PERFORMED;