summaryrefslogtreecommitdiff
path: root/tools/aapt2/ResourceParser.cpp
diff options
context:
space:
mode:
author Jeremy Meyer <jakmcbane@google.com> 2024-07-17 14:57:33 -0700
committer Jeremy Meyer <jakmcbane@google.com> 2024-07-22 09:59:50 -0700
commitefa42b1e27efc2ff8cb39cf47141f9d59ca6d375 (patch)
treef8f1bae2acac7e3173d5f69dbca939965bebc1a3 /tools/aapt2/ResourceParser.cpp
parentd659822b0642f0994bcdd517ca900c4202050b8b (diff)
Dont parse resource values behind disabled flags
This change makes it so that when we are parsing resources and there is one behind a disabled flag we don't parse the value. This is primarily to prevent disabled strings from ending up in the string pool. Test: automated Bug: 329436914 Flag: EXEMPT Aconfig not supported on host tools Change-Id: I4d8683ac820a3fd20cd92c223464f912b0ac422d
Diffstat (limited to 'tools/aapt2/ResourceParser.cpp')
-rw-r--r--tools/aapt2/ResourceParser.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/aapt2/ResourceParser.cpp b/tools/aapt2/ResourceParser.cpp
index 2df941834063..45bf8e38c5ce 100644
--- a/tools/aapt2/ResourceParser.cpp
+++ b/tools/aapt2/ResourceParser.cpp
@@ -690,7 +690,9 @@ bool ResourceParser::ParseResource(xml::XmlPullParser* parser,
resource_format = item_iter->second.format;
}
- if (!ParseItem(parser, out_resource, resource_format)) {
+ // Don't bother parsing the item if it is behind a disabled flag
+ if (out_resource->flag_status != FlagStatus::Disabled &&
+ !ParseItem(parser, out_resource, resource_format)) {
return false;
}
return true;