aboutsummaryrefslogtreecommitdiffstats
path: root/java/dexpreopt.go
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2019-02-12 13:12:16 +0000
committerNicolas Geoffray <ngeoffray@google.com>2019-02-13 11:59:20 +0000
commitfa6e9ec003d733006be10978599f62869ef2c6bd (patch)
treea9160e6ec00d7c73f29c18de7f744a9149d9d19a /java/dexpreopt.go
parent40e26a2a995dabed6129f774d84c6363c833f192 (diff)
downloadbuild_soong-fa6e9ec003d733006be10978599f62869ef2c6bd.tar.gz
build_soong-fa6e9ec003d733006be10978599f62869ef2c6bd.tar.bz2
build_soong-fa6e9ec003d733006be10978599f62869ef2c6bd.zip
Revert "Revert "Never strip and store dex files uncompressed when they are preopted on system.""
This reverts commit 67e8ec1973700bbdbc4cd68b3493d56d270ca377. Test: build && atest android.text.cts.EmojiTest#testEmojiGlyphWebView on Cuttlefish Exempt-From-Owner-Approval: Got +2 from Colin, latest PS is a rebase across conflicts. Change-Id: I99faf0f2ec698d70c107516bd43756b9ddcb90d0
Diffstat (limited to 'java/dexpreopt.go')
-rw-r--r--java/dexpreopt.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/java/dexpreopt.go b/java/dexpreopt.go
index cb6427b8..a89731ac 100644
--- a/java/dexpreopt.go
+++ b/java/dexpreopt.go
@@ -83,11 +83,7 @@ func (d *dexpreopter) dexpreoptDisabled(ctx android.ModuleContext) bool {
var dexpreoptGlobalConfigKey = android.NewOnceKey("DexpreoptGlobalConfig")
-func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.ModuleOutPath) android.ModuleOutPath {
- if d.dexpreoptDisabled(ctx) {
- return dexJarFile
- }
-
+func getGlobalConfig(ctx android.ModuleContext) dexpreopt.GlobalConfig {
globalConfig := ctx.Config().Once(dexpreoptGlobalConfigKey, func() interface{} {
if f := ctx.Config().DexpreoptGlobalConfig(); f != "" {
ctx.AddNinjaFileDeps(f)
@@ -99,6 +95,19 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
}
return dexpreopt.GlobalConfig{}
}).(dexpreopt.GlobalConfig)
+ return globalConfig
+}
+
+func odexOnSystemOther(ctx android.ModuleContext, installPath android.OutputPath) bool {
+ return dexpreopt.OdexOnSystemOtherByName(ctx.ModuleName(), android.InstallPathToOnDevicePath(ctx, installPath), getGlobalConfig(ctx))
+}
+
+func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.ModuleOutPath) android.ModuleOutPath {
+ if d.dexpreoptDisabled(ctx) {
+ return dexJarFile
+ }
+
+ globalConfig := getGlobalConfig(ctx)
var archs []android.ArchType
for _, a := range ctx.MultiTargets() {