Move StringPool to libandroidfw
Test: verified affected tests pass
Bug: 232940948
Change-Id: I22089893d7e5013f759c39ce190bec07fa6435db
diff --git a/tools/aapt2/java/ManifestClassGenerator.cpp b/tools/aapt2/java/ManifestClassGenerator.cpp
index a0db41b..65b63b7 100644
--- a/tools/aapt2/java/ManifestClassGenerator.cpp
+++ b/tools/aapt2/java/ManifestClassGenerator.cpp
@@ -18,7 +18,7 @@
#include <algorithm>
-#include "Source.h"
+#include "androidfw/Source.h"
#include "java/ClassDefinition.h"
#include "java/JavaClassGenerator.h"
#include "text/Unicode.h"
@@ -28,7 +28,8 @@
namespace aapt {
-static std::optional<std::string> ExtractJavaIdentifier(IDiagnostics* diag, const Source& source,
+static std::optional<std::string> ExtractJavaIdentifier(android::IDiagnostics* diag,
+ const android::Source& source,
const std::string& value) {
std::string result = value;
size_t pos = value.rfind('.');
@@ -42,22 +43,22 @@
}
if (result.empty()) {
- diag->Error(DiagMessage(source) << "empty symbol");
+ diag->Error(android::DiagMessage(source) << "empty symbol");
return {};
}
if (!IsJavaIdentifier(result)) {
- diag->Error(DiagMessage(source) << "invalid Java identifier '" << result << "'");
+ diag->Error(android::DiagMessage(source) << "invalid Java identifier '" << result << "'");
return {};
}
return result;
}
-static bool WriteSymbol(const Source& source, IDiagnostics* diag, xml::Element* el,
- ClassDefinition* class_def) {
+static bool WriteSymbol(const android::Source& source, android::IDiagnostics* diag,
+ xml::Element* el, ClassDefinition* class_def) {
xml::Attribute* attr = el->FindAttribute(xml::kSchemaAndroid, "name");
if (!attr) {
- diag->Error(DiagMessage(source) << "<" << el->name << "> must define 'android:name'");
+ diag->Error(android::DiagMessage(source) << "<" << el->name << "> must define 'android:name'");
return false;
}
@@ -72,21 +73,22 @@
string_member->GetCommentBuilder()->AppendComment(el->comment);
if (class_def->AddMember(std::move(string_member)) == ClassDefinition::Result::kOverridden) {
- diag->Warn(DiagMessage(source.WithLine(el->line_number))
+ diag->Warn(android::DiagMessage(source.WithLine(el->line_number))
<< "duplicate definitions of '" << result.value() << "', overriding previous");
}
return true;
}
-std::unique_ptr<ClassDefinition> GenerateManifestClass(IDiagnostics* diag, xml::XmlResource* res) {
+std::unique_ptr<ClassDefinition> GenerateManifestClass(android::IDiagnostics* diag,
+ xml::XmlResource* res) {
xml::Element* el = xml::FindRootElement(res->root.get());
if (!el) {
- diag->Error(DiagMessage(res->file.source) << "no root tag defined");
+ diag->Error(android::DiagMessage(res->file.source) << "no root tag defined");
return {};
}
if (el->name != "manifest" && !el->namespace_uri.empty()) {
- diag->Error(DiagMessage(res->file.source) << "no <manifest> root tag defined");
+ diag->Error(android::DiagMessage(res->file.source) << "no <manifest> root tag defined");
return {};
}
diff --git a/tools/aapt2/java/ManifestClassGenerator.h b/tools/aapt2/java/ManifestClassGenerator.h
index 3f6645f..3a45ef6 100644
--- a/tools/aapt2/java/ManifestClassGenerator.h
+++ b/tools/aapt2/java/ManifestClassGenerator.h
@@ -17,13 +17,14 @@
#ifndef AAPT_JAVA_MANIFESTCLASSGENERATOR_H
#define AAPT_JAVA_MANIFESTCLASSGENERATOR_H
-#include "Diagnostics.h"
+#include "androidfw/IDiagnostics.h"
#include "java/ClassDefinition.h"
#include "xml/XmlDom.h"
namespace aapt {
-std::unique_ptr<ClassDefinition> GenerateManifestClass(IDiagnostics* diag, xml::XmlResource* res);
+std::unique_ptr<ClassDefinition> GenerateManifestClass(android::IDiagnostics* diag,
+ xml::XmlResource* res);
} // namespace aapt
diff --git a/tools/aapt2/java/ProguardRules.h b/tools/aapt2/java/ProguardRules.h
index a01b64d..267f7ed 100644
--- a/tools/aapt2/java/ProguardRules.h
+++ b/tools/aapt2/java/ProguardRules.h
@@ -22,12 +22,11 @@
#include <set>
#include <string>
-#include "androidfw/StringPiece.h"
-
#include "Resource.h"
#include "ResourceTable.h"
-#include "Source.h"
#include "ValueVisitor.h"
+#include "androidfw/Source.h"
+#include "androidfw/StringPiece.h"
#include "io/Io.h"
#include "process/IResourceTableConsumer.h"
#include "xml/XmlDom.h"
@@ -37,7 +36,7 @@
struct UsageLocation {
ResourceName name;
- Source source;
+ android::Source source;
};
struct NameAndSignature {