diff options
Diffstat (limited to 'java/rro.go')
| -rw-r--r-- | java/rro.go | 29 |
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 { |
