aboutsummaryrefslogtreecommitdiff
path: root/java/rro.go
diff options
context:
space:
mode:
Diffstat (limited to 'java/rro.go')
-rw-r--r--java/rro.go29
1 files changed, 25 insertions, 4 deletions
diff --git a/java/rro.go b/java/rro.go
index 4ae8d7fc7..57b9da052 100644
--- a/java/rro.go
+++ b/java/rro.go
@@ -213,6 +213,11 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC
Theme: r.Theme(),
})
+ android.SetProvider(ctx, ApkCertInfoProvider, ApkCertInfo{
+ Certificate: r.Certificate(),
+ Name: r.outputFile.Base(),
+ })
+
ctx.SetOutputFiles([]android.Path{r.outputFile}, "")
buildComplianceMetadata(ctx)
@@ -261,6 +266,17 @@ func RuntimeResourceOverlayFactory() android.Module {
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
android.InitDefaultableModule(module)
android.InitOverridableModule(module, &module.properties.Overrides)
+
+ module.SetDefaultableHook(func(ctx android.DefaultableHookContext) {
+ // Make this module product_specific by default. Keep this in sync with rroPartition()
+ if !ctx.DeviceSpecific() && !ctx.SocSpecific() && !ctx.SystemExtSpecific() {
+ proptools.AppendMatchingProperties(ctx.Module().GetProperties(), &struct {
+ Product_specific *bool
+ }{
+ Product_specific: proptools.BoolPtr(true),
+ }, nil)
+ }
+ })
return module
}
@@ -358,12 +374,12 @@ func (a *AutogenRuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.
}
var rroDirs android.Paths
// Get rro dirs of the base app
- ctx.VisitDirectDepsWithTag(rroDepTag, func(m android.Module) {
- aarDep, _ := m.(AndroidLibraryDependency)
+ ctx.VisitDirectDepsProxyWithTag(rroDepTag, func(m android.ModuleProxy) {
+ javaInfo, _ := android.OtherModuleProvider(ctx, m, JavaInfoProvider)
if ctx.InstallInProduct() {
- rroDirs = filterRRO(aarDep.RRODirsDepSet(), product)
+ rroDirs = filterRRO(javaInfo.AndroidLibraryDependencyInfo.RRODirsDepSet, product)
} else {
- rroDirs = filterRRO(aarDep.RRODirsDepSet(), device)
+ rroDirs = filterRRO(javaInfo.AndroidLibraryDependencyInfo.RRODirsDepSet, device)
}
})
@@ -421,6 +437,11 @@ func (a *AutogenRuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.
OutputFile: signed,
Certificate: a.certificate,
})
+
+ android.SetProvider(ctx, ApkCertInfoProvider, ApkCertInfo{
+ Certificate: a.certificate,
+ Name: signed.Base(),
+ })
}
func (a *AutogenRuntimeResourceOverlay) SdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {