Revert "Generate app profiles even if dexpreopt is disabled."

Revert submission 2574032

Reason for revert: DroidMonitor-triggered revert due to breakage <https://android-build.googleplex.com/builds/quarterdeck?branch=aosp-master&target=aosp_cf_riscv64_minidroid-userdebug&lkgb=10069333&lkbb=10075041&fkbb=10071083>, bug <b/280902279>

Reverted changes: /q/submissionid:2574032

Change-Id: Ia9d05f3b7439604eb4a4b4100f46879fe11f5820
BUG: <280902279>
diff --git a/java/dex_test.go b/java/dex_test.go
index 2ba3831..97fc3d0 100644
--- a/java/dex_test.go
+++ b/java/dex_test.go
@@ -23,7 +23,7 @@
 )
 
 func TestR8(t *testing.T) {
-	result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, `
+	result := PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd.RunTestWithBp(t, `
 		android_app {
 			name: "app",
 			srcs: ["foo.java"],
@@ -191,7 +191,7 @@
 
 	for _, tc := range testcases {
 		t.Run(tc.name, func(t *testing.T) {
-			fixturePreparer := PrepareForTestWithJavaDefaultModules
+			fixturePreparer := PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd
 			if tc.unbundled {
 				fixturePreparer = android.GroupFixturePreparers(
 					fixturePreparer,
@@ -258,7 +258,7 @@
 }
 
 func TestR8Flags(t *testing.T) {
-	result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, `
+	result := PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd.RunTestWithBp(t, `
 		android_app {
 			name: "app",
 			srcs: ["foo.java"],
@@ -287,7 +287,7 @@
 }
 
 func TestD8(t *testing.T) {
-	result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, `
+	result := PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd.RunTestWithBp(t, `
 		java_library {
 			name: "foo",
 			srcs: ["foo.java"],
@@ -328,7 +328,7 @@
 }
 
 func TestProguardFlagsInheritance(t *testing.T) {
-	result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, `
+	result := PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd.RunTestWithBp(t, `
 		android_app {
 			name: "app",
 			static_libs: [
diff --git a/java/dexpreopt.go b/java/dexpreopt.go
index f0bb9a3..0ffedf6 100644
--- a/java/dexpreopt.go
+++ b/java/dexpreopt.go
@@ -180,8 +180,6 @@
 	return android.RemoveOptionalPrebuiltPrefix(ctx.ModuleName())
 }
 
-// Returns whether dexpreopt is applicable to the module.
-// When it returns true, neither profile nor dexpreopt artifacts will be generated.
 func (d *dexpreopter) dexpreoptDisabled(ctx android.BaseModuleContext) bool {
 	if !ctx.Device() {
 		return true
@@ -207,6 +205,14 @@
 
 	global := dexpreopt.GetGlobalConfig(ctx)
 
+	if global.DisablePreopt {
+		return true
+	}
+
+	if inList(moduleName(ctx), global.DisablePreoptModules) {
+		return true
+	}
+
 	isApexSystemServerJar := global.AllApexSystemServerJars(ctx).ContainsJar(moduleName(ctx))
 	if isApexVariant(ctx) {
 		// Don't preopt APEX variant module unless the module is an APEX system server jar.
diff --git a/java/dexpreopt_test.go b/java/dexpreopt_test.go
index f91ac5c..3d2c5c3 100644
--- a/java/dexpreopt_test.go
+++ b/java/dexpreopt_test.go
@@ -438,28 +438,3 @@
 
 	android.AssertIntEquals(t, "entries count", 0, len(entriesList))
 }
-
-func TestGenerateProfileEvenIfDexpreoptIsDisabled(t *testing.T) {
-	preparers := android.GroupFixturePreparers(
-		PrepareForTestWithJavaDefaultModules,
-		PrepareForTestWithFakeApexMutator,
-		dexpreopt.FixtureDisableDexpreopt(true),
-	)
-
-	result := preparers.RunTestWithBp(t, `
-		java_library {
-			name: "foo",
-			installable: true,
-			dex_preopt: {
-				profile: "art-profile",
-			},
-			srcs: ["a.java"],
-		}`)
-
-	ctx := result.TestContext
-	dexpreopt := ctx.ModuleForTests("foo", "android_common").MaybeRule("dexpreopt")
-
-	expected := []string{"out/soong/.intermediates/foo/android_common/dexpreopt/profile.prof"}
-
-	android.AssertArrayString(t, "outputs", expected, dexpreopt.AllOutputs())
-}