diff options
| author | 2017-06-16 18:07:46 +0000 | |
|---|---|---|
| committer | 2017-06-16 18:07:53 +0000 | |
| commit | 5d969b9862aefa3ddd8160f12829c22bc86de131 (patch) | |
| tree | cf86c321409e319b9e41dc4250036bc41e4c7686 | |
| parent | acbd7ba4aa4654538f93fc5bebc40f28659a3268 (diff) | |
| parent | 133c5da0d972ff8f1676890679f478aa30e08dfd (diff) | |
Merge "enable/disable dexopt for instant apps remotely" into oc-dev
| -rwxr-xr-x | core/java/android/provider/Settings.java | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 6 |
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. |