Fix clang-tidy warnings in aapt and aapt2.

* Add explicit keyword to conversion constructors.
* Add NOLINT(implicit) comments for implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
diff --git a/tools/aapt2/link/Link.cpp b/tools/aapt2/link/Link.cpp
index acb0f38..ff777a3 100644
--- a/tools/aapt2/link/Link.cpp
+++ b/tools/aapt2/link/Link.cpp
@@ -528,7 +528,7 @@
 
 static bool writeStableIdMapToPath(IDiagnostics* diag,
                                    const std::unordered_map<ResourceName, ResourceId>& idMap,
-                                   const std::string idMapPath) {
+                                   const std::string& idMapPath) {
     std::ofstream fout(idMapPath, std::ofstream::binary);
     if (!fout) {
         diag->error(DiagMessage(idMapPath) << strerror(errno));
@@ -823,7 +823,7 @@
     }
 
     bool writeJavaFile(ResourceTable* table, const StringPiece& packageNameToGenerate,
-                       const StringPiece& outPackage, JavaClassGeneratorOptions javaOptions) {
+                       const StringPiece& outPackage, const JavaClassGeneratorOptions& javaOptions) {
         if (!mOptions.generateJavaClassPath) {
             return true;
         }
diff --git a/tools/aapt2/link/TableMerger.cpp b/tools/aapt2/link/TableMerger.cpp
index 2cd2639..6ec88cb 100644
--- a/tools/aapt2/link/TableMerger.cpp
+++ b/tools/aapt2/link/TableMerger.cpp
@@ -135,7 +135,7 @@
                           const bool manglePackage,
                           const bool overlay,
                           const bool allowNewResources,
-                          FileMergeCallback callback) {
+                          const FileMergeCallback& callback) {
     bool error = false;
 
     for (auto& srcType : srcPackage->types) {
diff --git a/tools/aapt2/link/TableMerger.h b/tools/aapt2/link/TableMerger.h
index 6997f93..3473a27 100644
--- a/tools/aapt2/link/TableMerger.h
+++ b/tools/aapt2/link/TableMerger.h
@@ -115,7 +115,7 @@
                  const bool manglePackage,
                  const bool overlay,
                  const bool allowNewResources,
-                 FileMergeCallback callback);
+                 const FileMergeCallback& callback);
 
     std::unique_ptr<FileReference> cloneAndMangleFile(const std::string& package,
                                                       const FileReference& value);