Fix clang-tidy performance warnings in aapt2.

* Use const reference parameter type to avoid unnecessary copy.
* Use more efficient overloaded string methods.

Bug: 30407689
Bug: 30411878
Test: build with WITH_TIDY=1
Change-Id: Iaa0a6f18f64cf573bee49dd1466281ea4d37b410
diff --git a/tools/aapt2/LoadedApk.cpp b/tools/aapt2/LoadedApk.cpp
index 7e5efa1..abc0e4c 100644
--- a/tools/aapt2/LoadedApk.cpp
+++ b/tools/aapt2/LoadedApk.cpp
@@ -84,7 +84,7 @@
 
     std::string path = file->GetSource().path;
     // The name of the path has the format "<zip-file-name>@<path-to-file>".
-    path = path.substr(path.find("@") + 1);
+    path = path.substr(path.find('@') + 1);
 
     // Skip resources that are not referenced if requested.
     if (path.find("res/") == 0 && referenced_resources.find(path) == referenced_resources.end()) {
diff --git a/tools/aapt2/cmd/Link.cpp b/tools/aapt2/cmd/Link.cpp
index e6bf3a6..3e3f432 100644
--- a/tools/aapt2/cmd/Link.cpp
+++ b/tools/aapt2/cmd/Link.cpp
@@ -915,7 +915,7 @@
 
   bool WriteJavaFile(ResourceTable* table, const StringPiece& package_name_to_generate,
                      const StringPiece& out_package, const JavaClassGeneratorOptions& java_options,
-                     const Maybe<std::string> out_text_symbols_path = {}) {
+                     const Maybe<std::string>& out_text_symbols_path = {}) {
     if (!options_.generate_java_class_path) {
       return true;
     }
diff --git a/tools/aapt2/util/Util.cpp b/tools/aapt2/util/Util.cpp
index 51a75d7..a9b49d9 100644
--- a/tools/aapt2/util/Util.cpp
+++ b/tools/aapt2/util/Util.cpp
@@ -520,11 +520,10 @@
   return !(*this == rhs);
 }
 
-Tokenizer::iterator::iterator(StringPiece s, char sep, StringPiece tok,
-                              bool end)
+Tokenizer::iterator::iterator(const StringPiece& s, char sep, const StringPiece& tok, bool end)
     : str_(s), separator_(sep), token_(tok), end_(end) {}
 
-Tokenizer::Tokenizer(StringPiece str, char sep)
+Tokenizer::Tokenizer(const StringPiece& str, char sep)
     : begin_(++iterator(str, sep, StringPiece(str.begin() - 1, 0), false)),
       end_(str, sep, StringPiece(str.end(), 0), true) {}
 
diff --git a/tools/aapt2/util/Util.h b/tools/aapt2/util/Util.h
index b9ada77..3887e08 100644
--- a/tools/aapt2/util/Util.h
+++ b/tools/aapt2/util/Util.h
@@ -236,7 +236,7 @@
    private:
     friend class Tokenizer;
 
-    iterator(android::StringPiece s, char sep, android::StringPiece tok, bool end);
+    iterator(const android::StringPiece& s, char sep, const android::StringPiece& tok, bool end);
 
     android::StringPiece str_;
     char separator_;
@@ -244,7 +244,7 @@
     bool end_;
   };
 
-  Tokenizer(android::StringPiece str, char sep);
+  Tokenizer(const android::StringPiece& str, char sep);
 
   iterator begin() { return begin_; }