First pass at flagged resources

This gets the main parts of resource flagging in place and the basic use
case of flagging with an xml attribute working.

Test: Automated
Bug: 329436914
Flag: EXEMPT Aconfig not supported on host tools
Change-Id: Id2b5ba450d05da00a922e98ca204b6e5aa6c6c24
diff --git a/tools/aapt2/ResourceParser.h b/tools/aapt2/ResourceParser.h
index 012a056..45d41c1 100644
--- a/tools/aapt2/ResourceParser.h
+++ b/tools/aapt2/ResourceParser.h
@@ -27,6 +27,7 @@
 #include "androidfw/IDiagnostics.h"
 #include "androidfw/StringPiece.h"
 #include "androidfw/StringPool.h"
+#include "cmd/Util.h"
 #include "xml/XmlPullParser.h"
 
 namespace aapt {
@@ -54,6 +55,8 @@
   // If visibility was forced, we need to use it when creating a new resource and also error if we
   // try to parse the <public>, <public-group>, <java-symbol> or <symbol> tags.
   std::optional<Visibility::Level> visibility;
+
+  FeatureFlagValues feature_flag_values;
 };
 
 struct FlattenedXmlSubTree {