Switch ResourceTable to use ResourceNamedType instead of ResourceType.
DD: go/custom-resource-types-in-aapt2
Bug: b/215108200
Test: existing
Change-Id: If9ddcd529dff66c8ec4238f56ab64391c2f44c28
diff --git a/tools/aapt2/ResourceTable.h b/tools/aapt2/ResourceTable.h
index 2e17659..7aa8b0f 100644
--- a/tools/aapt2/ResourceTable.h
+++ b/tools/aapt2/ResourceTable.h
@@ -168,7 +168,7 @@
class ResourceTableType {
public:
// The logical type of resource (string, drawable, layout, etc.).
- const ResourceType type;
+ const ResourceNamedType named_type;
// Whether this type is public (and must maintain the same type ID across builds).
Visibility::Level visibility_level = Visibility::Level::kUndefined;
@@ -176,7 +176,9 @@
// List of resources for this type.
std::vector<std::unique_ptr<ResourceEntry>> entries;
- explicit ResourceTableType(const ResourceType type) : type(type) {}
+ explicit ResourceTableType(const ResourceNamedTypeRef& type)
+ : named_type(type.ToResourceNamedType()) {
+ }
ResourceEntry* CreateEntry(const android::StringPiece& name);
ResourceEntry* FindEntry(const android::StringPiece& name) const;
@@ -196,8 +198,9 @@
}
ResourceTablePackage() = default;
- ResourceTableType* FindType(ResourceType type) const;
- ResourceTableType* FindOrCreateType(ResourceType type);
+ ResourceTableType* FindTypeWithDefaultName(const ResourceType type) const;
+ ResourceTableType* FindType(const ResourceNamedTypeRef& type) const;
+ ResourceTableType* FindOrCreateType(const ResourceNamedTypeRef& type);
private:
DISALLOW_COPY_AND_ASSIGN(ResourceTablePackage);
@@ -217,7 +220,7 @@
};
struct ResourceTableTypeView {
- ResourceType type;
+ ResourceNamedType named_type;
std::optional<uint8_t> id;
Visibility::Level visibility_level = Visibility::Level::kUndefined;