Move StringPiece to libandroidfw
libandroidfw needs to make use of StringPiece, so
move it to libandroidfw and update all code referencing
StringPiece in aapt2.
Test: make libandroidfw_tests libaapt2_tests
Change-Id: I68d7f0fc7c651b048d9d1f5e7971f10ef5349fa1
diff --git a/tools/aapt2/java/AnnotationProcessor.cpp b/tools/aapt2/java/AnnotationProcessor.cpp
index 2951e5c..a0ef00b 100644
--- a/tools/aapt2/java/AnnotationProcessor.cpp
+++ b/tools/aapt2/java/AnnotationProcessor.cpp
@@ -20,6 +20,8 @@
#include "util/Util.h"
+using android::StringPiece;
+
namespace aapt {
void AnnotationProcessor::AppendCommentLine(std::string& comment) {
@@ -54,7 +56,7 @@
for (StringPiece line : util::Tokenize(comment, '\n')) {
line = util::TrimWhitespace(line);
if (!line.empty()) {
- std::string lineCopy = line.ToString();
+ std::string lineCopy = line.to_string();
AppendCommentLine(lineCopy);
}
}
diff --git a/tools/aapt2/java/AnnotationProcessor.h b/tools/aapt2/java/AnnotationProcessor.h
index 666a7f3..99cd44f 100644
--- a/tools/aapt2/java/AnnotationProcessor.h
+++ b/tools/aapt2/java/AnnotationProcessor.h
@@ -20,7 +20,7 @@
#include <sstream>
#include <string>
-#include "util/StringPiece.h"
+#include "androidfw/StringPiece.h"
namespace aapt {
@@ -58,7 +58,7 @@
* configurations,
* we need to collect all the comments.
*/
- void AppendComment(const StringPiece& comment);
+ void AppendComment(const android::StringPiece& comment);
void AppendNewLine();
@@ -66,7 +66,7 @@
* Writes the comments and annotations to the stream, with the given prefix
* before each line.
*/
- void WriteToStream(std::ostream* out, const StringPiece& prefix) const;
+ void WriteToStream(std::ostream* out, const android::StringPiece& prefix) const;
private:
enum : uint32_t {
diff --git a/tools/aapt2/java/ClassDefinition.cpp b/tools/aapt2/java/ClassDefinition.cpp
index f1f1f92..53d6ea1 100644
--- a/tools/aapt2/java/ClassDefinition.cpp
+++ b/tools/aapt2/java/ClassDefinition.cpp
@@ -16,7 +16,9 @@
#include "java/ClassDefinition.h"
-#include "util/StringPiece.h"
+#include "androidfw/StringPiece.h"
+
+using android::StringPiece;
namespace aapt {
@@ -43,7 +45,7 @@
}
*out << "final class " << name_ << " {\n";
- std::string new_prefix = prefix.ToString();
+ std::string new_prefix = prefix.to_string();
new_prefix.append(kIndent);
for (const std::unique_ptr<ClassMember>& member : members_) {
diff --git a/tools/aapt2/java/ClassDefinition.h b/tools/aapt2/java/ClassDefinition.h
index d8b61d9..64e4b29 100644
--- a/tools/aapt2/java/ClassDefinition.h
+++ b/tools/aapt2/java/ClassDefinition.h
@@ -21,10 +21,10 @@
#include <string>
#include "android-base/macros.h"
+#include "androidfw/StringPiece.h"
#include "Resource.h"
#include "java/AnnotationProcessor.h"
-#include "util/StringPiece.h"
#include "util/Util.h"
namespace aapt {
@@ -41,7 +41,7 @@
virtual bool empty() const = 0;
- virtual void WriteToStream(const StringPiece& prefix, bool final,
+ virtual void WriteToStream(const android::StringPiece& prefix, bool final,
std::ostream* out) const {
processor_.WriteToStream(out, prefix);
}
@@ -53,12 +53,12 @@
template <typename T>
class PrimitiveMember : public ClassMember {
public:
- PrimitiveMember(const StringPiece& name, const T& val)
- : name_(name.ToString()), val_(val) {}
+ PrimitiveMember(const android::StringPiece& name, const T& val)
+ : name_(name.to_string()), val_(val) {}
bool empty() const override { return false; }
- void WriteToStream(const StringPiece& prefix, bool final,
+ void WriteToStream(const android::StringPiece& prefix, bool final,
std::ostream* out) const override {
ClassMember::WriteToStream(prefix, final, out);
@@ -79,12 +79,12 @@
template <>
class PrimitiveMember<std::string> : public ClassMember {
public:
- PrimitiveMember(const StringPiece& name, const std::string& val)
- : name_(name.ToString()), val_(val) {}
+ PrimitiveMember(const android::StringPiece& name, const std::string& val)
+ : name_(name.to_string()), val_(val) {}
bool empty() const override { return false; }
- void WriteToStream(const StringPiece& prefix, bool final,
+ void WriteToStream(const android::StringPiece& prefix, bool final,
std::ostream* out) const override {
ClassMember::WriteToStream(prefix, final, out);
@@ -106,14 +106,13 @@
template <typename T>
class PrimitiveArrayMember : public ClassMember {
public:
- explicit PrimitiveArrayMember(const StringPiece& name)
- : name_(name.ToString()) {}
+ explicit PrimitiveArrayMember(const android::StringPiece& name) : name_(name.to_string()) {}
void AddElement(const T& val) { elements_.push_back(val); }
bool empty() const override { return false; }
- void WriteToStream(const StringPiece& prefix, bool final,
+ void WriteToStream(const android::StringPiece& prefix, bool final,
std::ostream* out) const override {
ClassMember::WriteToStream(prefix, final, out);
@@ -147,22 +146,18 @@
class ClassDefinition : public ClassMember {
public:
- static bool WriteJavaFile(const ClassDefinition* def,
- const StringPiece& package, bool final,
- std::ostream* out);
+ static bool WriteJavaFile(const ClassDefinition* def, const android::StringPiece& package,
+ bool final, std::ostream* out);
- ClassDefinition(const StringPiece& name, ClassQualifier qualifier,
- bool createIfEmpty)
- : name_(name.ToString()),
- qualifier_(qualifier),
- create_if_empty_(createIfEmpty) {}
+ ClassDefinition(const android::StringPiece& name, ClassQualifier qualifier, bool createIfEmpty)
+ : name_(name.to_string()), qualifier_(qualifier), create_if_empty_(createIfEmpty) {}
void AddMember(std::unique_ptr<ClassMember> member) {
members_.push_back(std::move(member));
}
bool empty() const override;
- void WriteToStream(const StringPiece& prefix, bool final,
+ void WriteToStream(const android::StringPiece& prefix, bool final,
std::ostream* out) const override;
private:
diff --git a/tools/aapt2/java/JavaClassGenerator.cpp b/tools/aapt2/java/JavaClassGenerator.cpp
index 6e7c7078..b71dc48 100644
--- a/tools/aapt2/java/JavaClassGenerator.cpp
+++ b/tools/aapt2/java/JavaClassGenerator.cpp
@@ -23,6 +23,7 @@
#include <tuple>
#include "android-base/logging.h"
+#include "androidfw/StringPiece.h"
#include "NameMangler.h"
#include "Resource.h"
@@ -32,7 +33,8 @@
#include "java/AnnotationProcessor.h"
#include "java/ClassDefinition.h"
#include "process/SymbolTable.h"
-#include "util/StringPiece.h"
+
+using android::StringPiece;
namespace aapt {
@@ -58,7 +60,7 @@
* Replace those with '_'.
*/
static std::string Transform(const StringPiece& symbol) {
- std::string output = symbol.ToString();
+ std::string output = symbol.to_string();
for (char& c : output) {
if (c == '.' || c == '-') {
c = '_';
diff --git a/tools/aapt2/java/JavaClassGenerator.h b/tools/aapt2/java/JavaClassGenerator.h
index 190e73b..5cf556e 100644
--- a/tools/aapt2/java/JavaClassGenerator.h
+++ b/tools/aapt2/java/JavaClassGenerator.h
@@ -20,10 +20,11 @@
#include <ostream>
#include <string>
+#include "androidfw/StringPiece.h"
+
#include "ResourceTable.h"
#include "ResourceValues.h"
#include "process/IResourceTableConsumer.h"
-#include "util/StringPiece.h"
namespace aapt {
@@ -69,22 +70,20 @@
* We need to generate these symbols in a separate file.
* Returns true on success.
*/
- bool Generate(const StringPiece& packageNameToGenerate, std::ostream* out);
+ bool Generate(const android::StringPiece& packageNameToGenerate, std::ostream* out);
- bool Generate(const StringPiece& packageNameToGenerate,
- const StringPiece& outputPackageName, std::ostream* out);
+ bool Generate(const android::StringPiece& packageNameToGenerate,
+ const android::StringPiece& outputPackageName, std::ostream* out);
const std::string& getError() const;
private:
- bool AddMembersToTypeClass(const StringPiece& packageNameToGenerate,
- const ResourceTablePackage* package,
- const ResourceTableType* type,
+ bool AddMembersToTypeClass(const android::StringPiece& packageNameToGenerate,
+ const ResourceTablePackage* package, const ResourceTableType* type,
ClassDefinition* outTypeClassDef);
- void AddMembersToStyleableClass(const StringPiece& packageNameToGenerate,
- const std::string& entryName,
- const Styleable* styleable,
+ void AddMembersToStyleableClass(const android::StringPiece& packageNameToGenerate,
+ const std::string& entryName, const Styleable* styleable,
ClassDefinition* outStyleableClassDef);
bool SkipSymbol(SymbolState state);
diff --git a/tools/aapt2/java/JavaClassGenerator_test.cpp b/tools/aapt2/java/JavaClassGenerator_test.cpp
index 3d3d24e..55c5cb2 100644
--- a/tools/aapt2/java/JavaClassGenerator_test.cpp
+++ b/tools/aapt2/java/JavaClassGenerator_test.cpp
@@ -22,6 +22,8 @@
#include "test/Test.h"
#include "util/Util.h"
+using android::StringPiece;
+
namespace aapt {
TEST(JavaClassGeneratorTest, FailWhenEntryIsJavaKeyword) {
diff --git a/tools/aapt2/java/ManifestClassGenerator.cpp b/tools/aapt2/java/ManifestClassGenerator.cpp
index db84f29..de8e59a 100644
--- a/tools/aapt2/java/ManifestClassGenerator.cpp
+++ b/tools/aapt2/java/ManifestClassGenerator.cpp
@@ -24,6 +24,8 @@
#include "util/Maybe.h"
#include "xml/XmlDom.h"
+using android::StringPiece;
+
namespace aapt {
static Maybe<StringPiece> ExtractJavaIdentifier(IDiagnostics* diag,