Fix ordering of overlays
Device overlays are passed to Soong in highest priority to lowest
priority order, but aapt2 keeps the last value provided on the
command line. Reverse the order that overlayGlobResults are
collected.
Bug: 71595164
Test: app_test.go
Change-Id: Ibc6b8297f1548766c5c92f3be969b89736dc8dff
diff --git a/java/app.go b/java/app.go
index 234dcb7..05cd8b3 100644
--- a/java/app.go
+++ b/java/app.go
@@ -412,7 +412,11 @@
}
var overlayData []overlayGlobResult
- for _, overlay := range ctx.Config().ResourceOverlays() {
+ overlayDirs := ctx.Config().ResourceOverlays()
+ for i := range overlayDirs {
+ // Iterate backwards through the list of overlay directories so that the later, lower-priority
+ // directories in the list show up earlier in the command line to aapt2.
+ overlay := overlayDirs[len(overlayDirs)-1-i]
var result overlayGlobResult
result.dir = overlay