diff --git a/java/app.go b/java/app.go
index a037ef3..f99b299 100644
--- a/java/app.go
+++ b/java/app.go
@@ -213,7 +213,6 @@
 		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)
diff --git a/java/dexpreopt.go b/java/dexpreopt.go
index 1dc3e9f..ce51aba 100644
--- a/java/dexpreopt.go
+++ b/java/dexpreopt.go
@@ -28,11 +28,11 @@
 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 @@
 		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,
 
diff --git a/java/java.go b/java/java.go
index 5e67193..8b8e4ba 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1327,6 +1327,7 @@
 		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 @@
 	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() {
