Apply PRODUCT_ENFORCE_RRO_TARGETS to dependencies.

With this change, users don't need to figure out which libraries
actually hold the resources to be overlaid when targetting apps with a
core lib dependency (e.g. Settings, SystemUI).

Fixes: 169898727
Test: app_test.go
Change-Id: I3c3b9dc0a377b1828db1199858a73d080a173205
This commit is contained in:
Jaewoong Jung
2020-10-06 18:56:10 -07:00
parent 3c72ce8696
commit c779cd403f
5 changed files with 175 additions and 13 deletions

View File

@@ -66,13 +66,13 @@ type globbedResourceDir struct {
files android.Paths
}
func overlayResourceGlob(ctx android.ModuleContext, dir android.Path) (res []globbedResourceDir,
func overlayResourceGlob(ctx android.ModuleContext, a *aapt, dir android.Path) (res []globbedResourceDir,
rroDirs []rroDir) {
overlayData := ctx.Config().Get(overlayDataKey).([]overlayGlobResult)
// Runtime resource overlays (RRO) may be turned on by the product config for some modules
rroEnabled := ctx.Config().EnforceRROForModule(ctx.ModuleName())
rroEnabled := a.IsRROEnforced(ctx)
for _, data := range overlayData {
files := data.paths.PathsInDirectory(filepath.Join(data.dir, dir.String()))