Remove duplicated shouldUncompressDex logic

shouldUncompressDex has already been computed and stored in
deviceProperties.UncompressDex, pass it to dexpreopter instead
of recomputing it.

Also add a stub for java libraries to set UncompressDex.

Test: no change to build.ninja
Change-Id: I663d9fbbe768a8dc9a97c7d456dd7a010f43162d
This commit is contained in:
Colin Cross 2018-12-21 12:59:54 -08:00 committed by Nicolas Geoffray
parent 1f8076b42d
commit 2fc72f66d0
3 changed files with 12 additions and 13 deletions

View File

@ -213,7 +213,6 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
installDir = filepath.Join("app", ctx.ModuleName())
}
a.dexpreopter.installPath = android.PathForModuleInstall(ctx, installDir, ctx.ModuleName()+".apk")
a.dexpreopter.isPrivApp = Bool(a.appProperties.Privileged)
if ctx.ModuleName() != "framework-res" {
a.Module.compile(ctx, a.aaptSrcJar)

View File

@ -28,11 +28,11 @@ import (
type dexpreopter struct {
dexpreoptProperties DexpreoptProperties
installPath android.OutputPath
isPrivApp bool
isSDKLibrary bool
isTest bool
isInstallable bool
installPath android.OutputPath
uncompressedDex bool
isSDKLibrary bool
isTest bool
isInstallable bool
builtInstalled []string
}
@ -145,19 +145,13 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
deps = append(deps, profileClassListing.Path())
}
uncompressedDex := false
if ctx.Config().UncompressPrivAppDex() &&
(d.isPrivApp || inList(ctx.ModuleName(), ctx.Config().ModulesLoadedByPrivilegedModules())) {
uncompressedDex = true
}
dexpreoptConfig := dexpreopt.ModuleConfig{
Name: ctx.ModuleName(),
DexLocation: dexLocation,
BuildPath: android.PathForModuleOut(ctx, "dexpreopt", ctx.ModuleName()+".jar").String(),
DexPath: dexJarFile.String(),
PreferCodeIntegrity: false,
UncompressedDex: uncompressedDex,
UncompressedDex: d.uncompressedDex,
HasApkLibraries: false,
PreoptFlags: nil,

View File

@ -1327,6 +1327,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path
j.dexJarFile = dexOutputFile
j.dexpreopter.isInstallable = Bool(j.properties.Installable)
j.dexpreopter.uncompressedDex = j.deviceProperties.UncompressDex
dexOutputFile = j.dexpreopt(ctx, dexOutputFile)
j.maybeStrippedDexJarFile = dexOutputFile
@ -1499,9 +1500,14 @@ type Library struct {
Module
}
func (j *Library) shouldUncompressDex(ctx android.ModuleContext) bool {
return false
}
func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", ctx.ModuleName()+".jar")
j.dexpreopter.isSDKLibrary = j.deviceProperties.IsSDKLibrary
j.deviceProperties.UncompressDex = j.shouldUncompressDex(ctx)
j.compile(ctx)
if Bool(j.properties.Installable) || ctx.Host() {