summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/prebuilt.go2
-rw-r--r--java/app_test.go28
2 files changed, 29 insertions, 1 deletions
diff --git a/android/prebuilt.go b/android/prebuilt.go
index 98cb5723a..bb98ed438 100644
--- a/android/prebuilt.go
+++ b/android/prebuilt.go
@@ -178,7 +178,7 @@ func InitSingleSourcePrebuiltModule(module PrebuiltInterface, srcProps interface
srcPropertyName := proptools.PropertyNameForField(srcField)
srcsSupplier := func(ctx BaseModuleContext) []string {
- if !ctx.Module().Enabled() {
+ if !module.Enabled() {
return nil
}
value := srcPropsValue.FieldByIndex(srcFieldIndex)
diff --git a/java/app_test.go b/java/app_test.go
index ef5e84dd2..e13c6b9f0 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -2566,6 +2566,34 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) {
}
}
+func TestAndroidAppImport_overridesDisabledAndroidApp(t *testing.T) {
+ ctx, _ := testJava(t, `
+ android_app {
+ name: "foo",
+ srcs: ["a.java"],
+ enabled: false,
+ }
+
+ android_app_import {
+ name: "foo",
+ apk: "prebuilts/apk/app.apk",
+ certificate: "platform",
+ prefer: true,
+ }
+ `)
+
+ variant := ctx.ModuleForTests("prebuilt_foo", "android_common")
+ a := variant.Module().(*AndroidAppImport)
+ // The prebuilt module should still be enabled and active even if the source-based counterpart
+ // is disabled.
+ if !a.prebuilt.UsePrebuilt() {
+ t.Errorf("prebuilt foo module is not active")
+ }
+ if !a.Enabled() {
+ t.Errorf("prebuilt foo module is disabled")
+ }
+}
+
func TestAndroidTestImport(t *testing.T) {
ctx, config := testJava(t, `
android_test_import {