Skip private resource validation if there are no visibility dependencies

If there are no visibility dependencies, the private resource validation can
be skipped entirely. This avoids extract resources references from the
manifest and the primary compiled resources.

PiperOrigin-RevId: 981222208
Change-Id: I72205afc94d679d1fd314bef1523f3efeb9a74b6
diff --git a/src/tools/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java b/src/tools/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
index 3d4c4e6..fde9a60 100644
--- a/src/tools/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
+++ b/src/tools/java/com/google/devtools/build/android/Aapt2ResourcePackagingAction.java
@@ -424,23 +424,24 @@
               .link(compiled);
       profiler.recordEndOf("link").startTask("validate");
 
-      ImmutableList<Reference> manifestReferences;
-      if (packagedResources.proto() != null) {
-        manifestReferences =
-            XmlUtils.getAllResourceReferences(
-                ProtoApk.readFrom(packagedResources.proto()).getManifest());
-      } else {
-        manifestReferences = XmlUtils.getAllResourceReferences(compiled.getManifest());
-      }
-
       ImmutableList<CompiledResources> visibilityDeps =
           options.compiledDepsWithPublicXml != null
               ? options.compiledDepsWithPublicXml.stream()
                   .map(CompiledResources::from)
                   .collect(toImmutableList())
               : ImmutableList.copyOf(compiledResourceDeps);
-      ValidateAndLinkResourcesAction.checkVisibilityOfResourceReferences(
-          manifestReferences, compiled, visibilityDeps);
+      if (!visibilityDeps.isEmpty()) {
+        ImmutableList<Reference> manifestReferences;
+        if (packagedResources.proto() != null) {
+          manifestReferences =
+              XmlUtils.getAllResourceReferences(
+                  ProtoApk.readFrom(packagedResources.proto()).getManifest());
+        } else {
+          manifestReferences = XmlUtils.getAllResourceReferences(compiled.getManifest());
+        }
+        ValidateAndLinkResourcesAction.checkVisibilityOfResourceReferences(
+            manifestReferences, compiled, visibilityDeps);
+      }
 
       profiler.recordEndOf("validate");