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/xml/XmlPullParser.cpp b/tools/aapt2/xml/XmlPullParser.cpp
index 323ec05..4a944f1 100644
--- a/tools/aapt2/xml/XmlPullParser.cpp
+++ b/tools/aapt2/xml/XmlPullParser.cpp
@@ -98,7 +98,7 @@
return mLastError;
}
-const std::u16string& XmlPullParser::getComment() const {
+const std::string& XmlPullParser::getComment() const {
return mEventQueue.front().data1;
}
@@ -110,14 +110,14 @@
return mEventQueue.front().depth;
}
-const std::u16string& XmlPullParser::getText() const {
+const std::string& XmlPullParser::getText() const {
if (getEvent() != Event::kText) {
return mEmpty;
}
return mEventQueue.front().data1;
}
-const std::u16string& XmlPullParser::getNamespacePrefix() const {
+const std::string& XmlPullParser::getNamespacePrefix() const {
const Event currentEvent = getEvent();
if (currentEvent != Event::kStartNamespace && currentEvent != Event::kEndNamespace) {
return mEmpty;
@@ -125,7 +125,7 @@
return mEventQueue.front().data1;
}
-const std::u16string& XmlPullParser::getNamespaceUri() const {
+const std::string& XmlPullParser::getNamespaceUri() const {
const Event currentEvent = getEvent();
if (currentEvent != Event::kStartNamespace && currentEvent != Event::kEndNamespace) {
return mEmpty;
@@ -134,7 +134,7 @@
}
Maybe<ExtractedPackage> XmlPullParser::transformPackageAlias(
- const StringPiece16& alias, const StringPiece16& localPackage) const {
+ const StringPiece& alias, const StringPiece& localPackage) const {
if (alias.empty()) {
return ExtractedPackage{ localPackage.toString(), false /* private */ };
}
@@ -152,7 +152,7 @@
return {};
}
-const std::u16string& XmlPullParser::getElementNamespace() const {
+const std::string& XmlPullParser::getElementNamespace() const {
const Event currentEvent = getEvent();
if (currentEvent != Event::kStartElement && currentEvent != Event::kEndElement) {
return mEmpty;
@@ -160,7 +160,7 @@
return mEventQueue.front().data1;
}
-const std::u16string& XmlPullParser::getElementName() const {
+const std::string& XmlPullParser::getElementName() const {
const Event currentEvent = getEvent();
if (currentEvent != Event::kStartElement && currentEvent != Event::kEndElement) {
return mEmpty;
@@ -186,31 +186,31 @@
/**
* Extracts the namespace and name of an expanded element or attribute name.
*/
-static void splitName(const char* name, std::u16string& outNs, std::u16string& outName) {
+static void splitName(const char* name, std::string& outNs, std::string& outName) {
const char* p = name;
while (*p != 0 && *p != kXmlNamespaceSep) {
p++;
}
if (*p == 0) {
- outNs = std::u16string();
- outName = util::utf8ToUtf16(name);
+ outNs = std::string();
+ outName = name;
} else {
- outNs = util::utf8ToUtf16(StringPiece(name, (p - name)));
- outName = util::utf8ToUtf16(p + 1);
+ outNs = StringPiece(name, (p - name)).toString();
+ outName = p + 1;
}
}
void XMLCALL XmlPullParser::startNamespaceHandler(void* userData, const char* prefix,
const char* uri) {
XmlPullParser* parser = reinterpret_cast<XmlPullParser*>(userData);
- std::u16string namespaceUri = uri != nullptr ? util::utf8ToUtf16(uri) : std::u16string();
+ std::string namespaceUri = uri != nullptr ? uri : std::string();
parser->mNamespaceUris.push(namespaceUri);
parser->mEventQueue.push(EventData{
Event::kStartNamespace,
XML_GetCurrentLineNumber(parser->mParser),
parser->mDepth++,
- prefix != nullptr ? util::utf8ToUtf16(prefix) : std::u16string(),
+ prefix != nullptr ? prefix : std::string(),
namespaceUri
});
}
@@ -227,7 +227,7 @@
while (*attrs) {
Attribute attribute;
splitName(*attrs++, attribute.namespaceUri, attribute.name);
- attribute.value = util::utf8ToUtf16(*attrs++);
+ attribute.value = *attrs++;
// Insert in sorted order.
auto iter = std::lower_bound(data.attributes.begin(), data.attributes.end(), attribute);
@@ -245,7 +245,7 @@
Event::kText,
XML_GetCurrentLineNumber(parser->mParser),
parser->mDepth,
- util::utf8ToUtf16(StringPiece(s, len))
+ StringPiece(s, len).toString()
});
}
@@ -268,7 +268,7 @@
Event::kEndNamespace,
XML_GetCurrentLineNumber(parser->mParser),
--(parser->mDepth),
- prefix != nullptr ? util::utf8ToUtf16(prefix) : std::u16string(),
+ prefix != nullptr ? prefix : std::string(),
parser->mNamespaceUris.top()
});
parser->mNamespaceUris.pop();
@@ -281,22 +281,22 @@
Event::kComment,
XML_GetCurrentLineNumber(parser->mParser),
parser->mDepth,
- util::utf8ToUtf16(comment)
+ comment
});
}
-Maybe<StringPiece16> findAttribute(const XmlPullParser* parser, const StringPiece16& name) {
- auto iter = parser->findAttribute(u"", name);
+Maybe<StringPiece> findAttribute(const XmlPullParser* parser, const StringPiece& name) {
+ auto iter = parser->findAttribute("", name);
if (iter != parser->endAttributes()) {
- return StringPiece16(util::trimWhitespace(iter->value));
+ return StringPiece(util::trimWhitespace(iter->value));
}
return {};
}
-Maybe<StringPiece16> findNonEmptyAttribute(const XmlPullParser* parser, const StringPiece16& name) {
- auto iter = parser->findAttribute(u"", name);
+Maybe<StringPiece> findNonEmptyAttribute(const XmlPullParser* parser, const StringPiece& name) {
+ auto iter = parser->findAttribute("", name);
if (iter != parser->endAttributes()) {
- StringPiece16 trimmed = util::trimWhitespace(iter->value);
+ StringPiece trimmed = util::trimWhitespace(iter->value);
if (!trimmed.empty()) {
return trimmed;
}