summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2018-01-25 08:59:28 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-01-25 08:59:28 +0000
commitd2204db2c686f9691323e24d760c0935d0bce178 (patch)
tree8f1fdf01e6fb12b4d7fe680dd021d19f9299284b
parentc510a619bcf444da7fafcffa77628e83835308d2 (diff)
parent11d21a29767cedf62aa9dcc8708a828867491840 (diff)
Merge "Rewrite handling of oob priv-apps in framework."
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java1
-rw-r--r--services/core/java/com/android/server/pm/PackageDexOptimizer.java10
2 files changed, 5 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index fcbcce4181e3..fbcc8ac3576b 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -4063,7 +4063,6 @@ public class ActivityManagerService extends IActivityManager.Stub
if (app.info.isPrivilegedApp() &&
SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false)) {
- runtimeFlags |= Zygote.DISABLE_VERIFIER;
runtimeFlags |= Zygote.ONLY_USE_SYSTEM_OAT_FILES;
}
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index 6a08e1b5953a..324dc5fb8656 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -111,11 +111,6 @@ public class PackageDexOptimizer {
return false;
}
- // We do not dexopt a priv-app package when pm.dexopt.priv-apps-oob is true.
- if (pkg.isPrivileged()) {
- return !SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false);
- }
-
return true;
}
@@ -481,6 +476,11 @@ public class PackageDexOptimizer {
boolean isUsedByOtherApps) {
int flags = info.flags;
boolean vmSafeMode = (flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
+ // When pm.dexopt.priv-apps-oob is true, we only verify privileged apps.
+ if (info.isPrivilegedApp() &&
+ SystemProperties.getBoolean("pm.dexopt.priv-apps-oob", false)) {
+ return "verify";
+ }
if (vmSafeMode) {
return getSafeModeCompilerFilter(targetCompilerFilter);
}