diff options
author | 2024-11-12 14:42:44 -0800 | |
---|---|---|
committer | 2024-11-12 14:42:44 -0800 | |
commit | 0b6c39f49ec66332279b9d37dbb0a567505527f4 (patch) | |
tree | 9b156bb4d6b45cd41df4db3609089640fa557da5 | |
parent | ec52d614a6b6fa49d5d2c282835e4a7203fc119c (diff) |
Consider flags when merging with overlay semantics
Bug: 376590133
Flag: EXEMPT Aconfig not supported on host tools
Test: Build+flash+boot
Test: Build passes with changes attached to the bug
Change-Id: Icb2f20372bb28627058e6eb918d91226f66207ff
-rw-r--r-- | tools/aapt2/link/TableMerger.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/tools/aapt2/link/TableMerger.cpp b/tools/aapt2/link/TableMerger.cpp index 1bef5f8b17f6..1d4adc4a57d8 100644 --- a/tools/aapt2/link/TableMerger.cpp +++ b/tools/aapt2/link/TableMerger.cpp @@ -207,14 +207,13 @@ static ResourceTable::CollisionResult MergeConfigValue( Value* dst_value = dst_config_value->value.get(); Value* src_value = src_config_value->value.get(); - CollisionResult collision_result; - if (overlay) { - collision_result = - ResolveMergeCollision(override_styles_instead_of_overlaying, dst_value, src_value, pool); - } else { - collision_result = - ResourceTable::ResolveFlagCollision(dst_value->GetFlagStatus(), src_value->GetFlagStatus()); - if (collision_result == CollisionResult::kConflict) { + CollisionResult collision_result = + ResourceTable::ResolveFlagCollision(dst_value->GetFlagStatus(), src_value->GetFlagStatus()); + if (collision_result == CollisionResult::kConflict) { + if (overlay) { + collision_result = + ResolveMergeCollision(override_styles_instead_of_overlaying, dst_value, src_value, pool); + } else { collision_result = ResourceTable::ResolveValueCollision(dst_value, src_value); } } |