AAPT2: Remove usage of u16string
For legacy reasons, we kept around the use of UTF-16 internally
in AAPT2. We don't need this and this CL removes all instances of
std::u16string and StringPiece16. The only places still needed
are when interacting with the ResTable APIs that only operate in
UTF16.
Change-Id: I492475b84bb9014fa13bf992cff447ee7a5fe588
diff --git a/tools/aapt2/link/TableMerger_test.cpp b/tools/aapt2/link/TableMerger_test.cpp
index 4a80d3f..1697217 100644
--- a/tools/aapt2/link/TableMerger_test.cpp
+++ b/tools/aapt2/link/TableMerger_test.cpp
@@ -30,13 +30,13 @@
void SetUp() override {
mContext = test::ContextBuilder()
// We are compiling this package.
- .setCompilationPackage(u"com.app.a")
+ .setCompilationPackage("com.app.a")
// Merge all packages that have this package ID.
.setPackageId(0x7f)
// Mangle all packages that do not have this package name.
- .setNameManglerPolicy(NameManglerPolicy{ u"com.app.a", { u"com.app.b" } })
+ .setNameManglerPolicy(NameManglerPolicy{ "com.app.a", { "com.app.b" } })
.build();
}
@@ -44,17 +44,17 @@
TEST_F(TableMergerTest, SimpleMerge) {
std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
- .setPackageId(u"com.app.a", 0x7f)
- .addReference(u"@com.app.a:id/foo", u"@com.app.a:id/bar")
- .addReference(u"@com.app.a:id/bar", u"@com.app.b:id/foo")
- .addValue(u"@com.app.a:styleable/view", test::StyleableBuilder()
- .addItem(u"@com.app.b:id/foo")
+ .setPackageId("com.app.a", 0x7f)
+ .addReference("@com.app.a:id/foo", "@com.app.a:id/bar")
+ .addReference("@com.app.a:id/bar", "@com.app.b:id/foo")
+ .addValue("@com.app.a:styleable/view", test::StyleableBuilder()
+ .addItem("@com.app.b:id/foo")
.build())
.build();
std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
- .setPackageId(u"com.app.b", 0x7f)
- .addSimple(u"@com.app.b:id/foo")
+ .setPackageId("com.app.b", 0x7f)
+ .addSimple("@com.app.b:id/foo")
.build();
ResourceTable finalTable;
@@ -62,20 +62,20 @@
io::FileCollection collection;
ASSERT_TRUE(merger.merge({}, tableA.get()));
- ASSERT_TRUE(merger.mergeAndMangle({}, u"com.app.b", tableB.get(), &collection));
+ ASSERT_TRUE(merger.mergeAndMangle({}, "com.app.b", tableB.get(), &collection));
- EXPECT_TRUE(merger.getMergedPackages().count(u"com.app.b") != 0);
+ EXPECT_TRUE(merger.getMergedPackages().count("com.app.b") != 0);
// Entries from com.app.a should not be mangled.
- AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie(u"@com.app.a:id/foo")));
- AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie(u"@com.app.a:id/bar")));
- AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie(u"@com.app.a:styleable/view")));
+ AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:id/foo")));
+ AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:id/bar")));
+ AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:styleable/view")));
// The unmangled name should not be present.
- AAPT_EXPECT_FALSE(finalTable.findResource(test::parseNameOrDie(u"@com.app.b:id/foo")));
+ AAPT_EXPECT_FALSE(finalTable.findResource(test::parseNameOrDie("@com.app.b:id/foo")));
// Look for the mangled name.
- AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie(u"@com.app.a:id/com.app.b$foo")));
+ AAPT_EXPECT_TRUE(finalTable.findResource(test::parseNameOrDie("@com.app.a:id/com.app.b$foo")));
}
TEST_F(TableMergerTest, MergeFile) {
@@ -86,17 +86,17 @@
ResourceFile fileDesc;
fileDesc.config = test::parseConfigOrDie("hdpi-v4");
- fileDesc.name = test::parseNameOrDie(u"@layout/main");
+ fileDesc.name = test::parseNameOrDie("@layout/main");
fileDesc.source = Source("res/layout-hdpi/main.xml");
test::TestFile testFile("path/to/res/layout-hdpi/main.xml.flat");
ASSERT_TRUE(merger.mergeFile(fileDesc, &testFile));
FileReference* file = test::getValueForConfig<FileReference>(&finalTable,
- u"@com.app.a:layout/main",
+ "@com.app.a:layout/main",
test::parseConfigOrDie("hdpi-v4"));
ASSERT_NE(nullptr, file);
- EXPECT_EQ(std::u16string(u"res/layout-hdpi-v4/main.xml"), *file->path);
+ EXPECT_EQ(std::string("res/layout-hdpi-v4/main.xml"), *file->path);
}
TEST_F(TableMergerTest, MergeFileOverlay) {
@@ -106,7 +106,7 @@
TableMerger merger(mContext.get(), &finalTable, tableMergerOptions);
ResourceFile fileDesc;
- fileDesc.name = test::parseNameOrDie(u"@xml/foo");
+ fileDesc.name = test::parseNameOrDie("@xml/foo");
test::TestFile fileA("path/to/fileA.xml.flat");
test::TestFile fileB("path/to/fileB.xml.flat");
@@ -116,12 +116,12 @@
TEST_F(TableMergerTest, MergeFileReferences) {
std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
- .setPackageId(u"com.app.a", 0x7f)
- .addFileReference(u"@com.app.a:xml/file", u"res/xml/file.xml")
+ .setPackageId("com.app.a", 0x7f)
+ .addFileReference("@com.app.a:xml/file", "res/xml/file.xml")
.build();
std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
- .setPackageId(u"com.app.b", 0x7f)
- .addFileReference(u"@com.app.b:xml/file", u"res/xml/file.xml")
+ .setPackageId("com.app.b", 0x7f)
+ .addFileReference("@com.app.b:xml/file", "res/xml/file.xml")
.build();
ResourceTable finalTable;
@@ -130,25 +130,25 @@
collection.insertFile("res/xml/file.xml");
ASSERT_TRUE(merger.merge({}, tableA.get()));
- ASSERT_TRUE(merger.mergeAndMangle({}, u"com.app.b", tableB.get(), &collection));
+ ASSERT_TRUE(merger.mergeAndMangle({}, "com.app.b", tableB.get(), &collection));
- FileReference* f = test::getValue<FileReference>(&finalTable, u"@com.app.a:xml/file");
+ FileReference* f = test::getValue<FileReference>(&finalTable, "@com.app.a:xml/file");
ASSERT_NE(f, nullptr);
- EXPECT_EQ(std::u16string(u"res/xml/file.xml"), *f->path);
+ EXPECT_EQ(std::string("res/xml/file.xml"), *f->path);
- f = test::getValue<FileReference>(&finalTable, u"@com.app.a:xml/com.app.b$file");
+ f = test::getValue<FileReference>(&finalTable, "@com.app.a:xml/com.app.b$file");
ASSERT_NE(f, nullptr);
- EXPECT_EQ(std::u16string(u"res/xml/com.app.b$file.xml"), *f->path);
+ EXPECT_EQ(std::string("res/xml/com.app.b$file.xml"), *f->path);
}
TEST_F(TableMergerTest, OverrideResourceWithOverlay) {
std::unique_ptr<ResourceTable> base = test::ResourceTableBuilder()
- .setPackageId(u"", 0x00)
- .addValue(u"@bool/foo", ResourceUtils::tryParseBool(u"true"))
+ .setPackageId("", 0x00)
+ .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
.build();
std::unique_ptr<ResourceTable> overlay = test::ResourceTableBuilder()
- .setPackageId(u"", 0x00)
- .addValue(u"@bool/foo", ResourceUtils::tryParseBool(u"false"))
+ .setPackageId("", 0x00)
+ .addValue("@bool/foo", ResourceUtils::tryParseBool("false"))
.build();
ResourceTable finalTable;
@@ -159,19 +159,19 @@
ASSERT_TRUE(merger.merge({}, base.get()));
ASSERT_TRUE(merger.mergeOverlay({}, overlay.get()));
- BinaryPrimitive* foo = test::getValue<BinaryPrimitive>(&finalTable, u"@com.app.a:bool/foo");
+ BinaryPrimitive* foo = test::getValue<BinaryPrimitive>(&finalTable, "@com.app.a:bool/foo");
ASSERT_NE(nullptr, foo);
EXPECT_EQ(0x0u, foo->value.data);
}
TEST_F(TableMergerTest, MergeAddResourceFromOverlay) {
std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
- .setPackageId(u"", 0x7f)
- .setSymbolState(u"@bool/foo", {}, SymbolState::kUndefined)
+ .setPackageId("", 0x7f)
+ .setSymbolState("@bool/foo", {}, SymbolState::kUndefined)
.build();
std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
- .setPackageId(u"", 0x7f)
- .addValue(u"@bool/foo", ResourceUtils::tryParseBool(u"true"))
+ .setPackageId("", 0x7f)
+ .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
.build();
ResourceTable finalTable;
@@ -183,11 +183,11 @@
TEST_F(TableMergerTest, MergeAddResourceFromOverlayWithAutoAddOverlay) {
std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
- .setPackageId(u"", 0x7f)
+ .setPackageId("", 0x7f)
.build();
std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
- .setPackageId(u"", 0x7f)
- .addValue(u"@bool/foo", ResourceUtils::tryParseBool(u"true"))
+ .setPackageId("", 0x7f)
+ .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
.build();
ResourceTable finalTable;
@@ -201,11 +201,11 @@
TEST_F(TableMergerTest, FailToMergeNewResourceWithoutAutoAddOverlay) {
std::unique_ptr<ResourceTable> tableA = test::ResourceTableBuilder()
- .setPackageId(u"", 0x7f)
+ .setPackageId("", 0x7f)
.build();
std::unique_ptr<ResourceTable> tableB = test::ResourceTableBuilder()
- .setPackageId(u"", 0x7f)
- .addValue(u"@bool/foo", ResourceUtils::tryParseBool(u"true"))
+ .setPackageId("", 0x7f)
+ .addValue("@bool/foo", ResourceUtils::tryParseBool("true"))
.build();
ResourceTable finalTable;