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

Commit c8aa8ff3 authored by Mathieu Chartier's avatar Mathieu Chartier
Browse files

Disable view compiler for protected storage

Protected storage has selinux restrictions that currently prevent
views being generated there.

Bug: 111895153
Bug: 123778117
Test: manual
Change-Id: Id386ebd1be7329ab1ea9657187dfbabb4f1bf73c
parent 60ddf9b4
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -480,10 +480,13 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub {
            final String apkPath = pkg.baseCodePath;
            final ApplicationInfo appInfo = pkg.applicationInfo;
            final String outDexFile = appInfo.dataDir + "/code_cache/compiled_view.dex";
            if (appInfo.isPrivilegedApp() || appInfo.isEmbeddedDexUsed()) {
            if (appInfo.isPrivilegedApp() || appInfo.isEmbeddedDexUsed()
                    || appInfo.isDefaultToDeviceProtectedStorage()) {
                // Privileged apps prefer to load trusted code so they don't use compiled views.
                // If the app is not privileged but prefers code integrity, also avoid compiling
                // views.
                // Also disable the view compiler for protected storage apps since there are
                // selinux permissions required for writing to user_de.
                return false;
            }
            Log.i("PackageManager", "Compiling layouts in " + packageName + " (" + apkPath +