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 {