summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2017-06-16 18:07:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-06-16 18:07:53 +0000
commit5d969b9862aefa3ddd8160f12829c22bc86de131 (patch)
treecf86c321409e319b9e41dc4250036bc41e4c7686
parentacbd7ba4aa4654538f93fc5bebc40f28659a3268 (diff)
parent133c5da0d972ff8f1676890679f478aa30e08dfd (diff)
Merge "enable/disable dexopt for instant apps remotely" into oc-dev
-rwxr-xr-xcore/java/android/provider/Settings.java10
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java6
2 files changed, 14 insertions, 2 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 65669ee70216..ee3e986cc323 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -9821,6 +9821,16 @@ public final class Settings {
public static final String ENABLE_EPHEMERAL_FEATURE = "enable_ephemeral_feature";
/**
+ * Toggle to enable/disable dexopt for instant applications. The default is for dexopt
+ * to be disabled.
+ * <p>
+ * Type: int (0 to disable, 1 to enable)
+ *
+ * @hide
+ */
+ public static final String INSTANT_APP_DEXOPT_ENABLED = "instant_app_dexopt_enabled";
+
+ /**
* The min period for caching installed instant apps in milliseconds.
* <p>
* Type: long
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 5f96b9177281..49ddeb5d2196 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -18105,8 +18105,10 @@ public class PackageManagerService extends IPackageManager.Stub
// step during installation. Instead, we'll take extra time the first time the
// instant app starts. It's preferred to do it this way to provide continuous
// progress to the user instead of mysteriously blocking somewhere in the
- // middle of running an instant app.
- if (!instantApp) {
+ // middle of running an instant app. The default behaviour can be overridden
+ // via gservices.
+ if (!instantApp || Global.getInt(
+ mContext.getContentResolver(), Global.INSTANT_APP_DEXOPT_ENABLED, 0) != 0) {
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dexopt");
// Do not run PackageDexOptimizer through the local performDexOpt
// method because `pkg` may not be in `mPackages` yet.