diff --git a/android/config.go b/android/config.go index c6885dd05..095b1e481 100644 --- a/android/config.go +++ b/android/config.go @@ -946,13 +946,7 @@ func (c *config) ArtUseReadBarrier() bool { // More info: https://source.android.com/devices/architecture/rros func (c *config) EnforceRROForModule(name string) bool { enforceList := c.productVariables.EnforceRROTargets - // TODO(b/150820813) Some modules depend on static overlay, remove this after eliminating the dependency. - exemptedList := c.productVariables.EnforceRROExemptedTargets - if len(exemptedList) > 0 { - if InList(name, exemptedList) { - return false - } - } + if len(enforceList) > 0 { if InList("*", enforceList) { return true @@ -961,11 +955,6 @@ func (c *config) EnforceRROForModule(name string) bool { } return false } - -func (c *config) EnforceRROExemptedForModule(name string) bool { - return InList(name, c.productVariables.EnforceRROExemptedTargets) -} - func (c *config) EnforceRROExcludedOverlay(path string) bool { excluded := c.productVariables.EnforceRROExcludedOverlays if len(excluded) > 0 { diff --git a/android/variable.go b/android/variable.go index 76666c57f..dd000ad22 100644 --- a/android/variable.go +++ b/android/variable.go @@ -199,11 +199,9 @@ type productVariables struct { CrossHostArch *string `json:",omitempty"` CrossHostSecondaryArch *string `json:",omitempty"` - DeviceResourceOverlays []string `json:",omitempty"` - ProductResourceOverlays []string `json:",omitempty"` - EnforceRROTargets []string `json:",omitempty"` - // TODO(b/150820813) Some modules depend on static overlay, remove this after eliminating the dependency. - EnforceRROExemptedTargets []string `json:",omitempty"` + DeviceResourceOverlays []string `json:",omitempty"` + ProductResourceOverlays []string `json:",omitempty"` + EnforceRROTargets []string `json:",omitempty"` EnforceRROExcludedOverlays []string `json:",omitempty"` AAPTCharacteristics *string `json:",omitempty"` diff --git a/java/aar.go b/java/aar.go index ac7ae2518..602d2c49c 100644 --- a/java/aar.go +++ b/java/aar.go @@ -160,8 +160,8 @@ func (a *aapt) SetRROEnforcedForDependent(enforce bool) { func (a *aapt) IsRROEnforced(ctx android.BaseModuleContext) bool { // True if RRO is enforced for this module or... return ctx.Config().EnforceRROForModule(ctx.ModuleName()) || - // if RRO is enforced for any of its dependents, and this module is not exempted. - (a.aaptProperties.RROEnforcedForDependent && !ctx.Config().EnforceRROExemptedForModule(ctx.ModuleName())) + // if RRO is enforced for any of its dependents. + a.aaptProperties.RROEnforcedForDependent } func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkContext sdkContext, @@ -443,16 +443,14 @@ func aaptLibs(ctx android.ModuleContext, sdkContext sdkContext, classLoaderConte assets = append(assets, aarDep.ExportedAssets().Path()) } - if !ctx.Config().EnforceRROExemptedForModule(ctx.ModuleName()) { - outer: - for _, d := range aarDep.ExportedRRODirs() { - for _, e := range staticRRODirs { - if d.path == e.path { - continue outer - } + outer: + for _, d := range aarDep.ExportedRRODirs() { + for _, e := range staticRRODirs { + if d.path == e.path { + continue outer } - staticRRODirs = append(staticRRODirs, d) } + staticRRODirs = append(staticRRODirs, d) } } } diff --git a/java/rro_test.go b/java/rro_test.go index 345f2ee2b..0a2f8481f 100644 --- a/java/rro_test.go +++ b/java/rro_test.go @@ -263,47 +263,34 @@ func TestOverrideRuntimeResourceOverlay(t *testing.T) { func TestEnforceRRO_propagatesToDependencies(t *testing.T) { testCases := []struct { - name string - enforceRROTargets []string - enforceRROExemptTargets []string - rroDirs map[string][]string + name string + enforceRROTargets []string + rroDirs map[string][]string }{ { - name: "no RRO", - enforceRROTargets: nil, - enforceRROExemptTargets: nil, + name: "no RRO", + enforceRROTargets: nil, rroDirs: map[string][]string{ "foo": nil, "bar": nil, }, }, { - name: "enforce RRO on all", - enforceRROTargets: []string{"*"}, - enforceRROExemptTargets: nil, + name: "enforce RRO on all", + enforceRROTargets: []string{"*"}, rroDirs: map[string][]string{ "foo": {"product/vendor/blah/overlay/lib2/res"}, "bar": {"product/vendor/blah/overlay/lib2/res"}, }, }, { - name: "enforce RRO on foo", - enforceRROTargets: []string{"foo"}, - enforceRROExemptTargets: nil, + name: "enforce RRO on foo", + enforceRROTargets: []string{"foo"}, rroDirs: map[string][]string{ "foo": {"product/vendor/blah/overlay/lib2/res"}, "bar": {"product/vendor/blah/overlay/lib2/res"}, }, }, - { - name: "enforce RRO on foo, bar exempted", - enforceRROTargets: []string{"foo"}, - enforceRROExemptTargets: []string{"bar"}, - rroDirs: map[string][]string{ - "foo": {"product/vendor/blah/overlay/lib2/res"}, - "bar": nil, - }, - }, } productResourceOverlays := []string{ @@ -351,9 +338,6 @@ func TestEnforceRRO_propagatesToDependencies(t *testing.T) { if testCase.enforceRROTargets != nil { config.TestProductVariables.EnforceRROTargets = testCase.enforceRROTargets } - if testCase.enforceRROExemptTargets != nil { - config.TestProductVariables.EnforceRROExemptedTargets = testCase.enforceRROExemptTargets - } ctx := testContext(config) run(t, ctx, config)