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

Commit e5b210fc authored by Calin Juravle's avatar Calin Juravle Committed by android-build-merger
Browse files

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

am: 31762dd9

Change-Id: Ifd344ec8396ebbd62940522e259ddc72b6e4f1c0
parents 53fac181 31762dd9
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;