Fix usage of Immutable list in resource shrinker

The returned list is mutable unless it is empty, allways create a copy.

Bug: b/401546693
Change-Id: I9ea50d23c365ea59e1f6ae5e13a02048daa8b5f8
diff --git a/src/resourceshrinker/java/com/android/build/shrinker/r8integration/LegacyResourceShrinker.java b/src/resourceshrinker/java/com/android/build/shrinker/r8integration/LegacyResourceShrinker.java
index a64a3fd..baf1f72 100644
--- a/src/resourceshrinker/java/com/android/build/shrinker/r8integration/LegacyResourceShrinker.java
+++ b/src/resourceshrinker/java/com/android/build/shrinker/r8integration/LegacyResourceShrinker.java
@@ -37,7 +37,6 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
@@ -211,12 +210,13 @@
     // Finds unused resources in provided resources collection.
     // Marks all used resources as 'reachable' in original collection.
     List<Resource> unusedResources =
-        ResourcesUtil.findUnusedResources(
-            model.getResourceStore().getResources(),
-            roots -> {
-              debugReporter.debug(() -> "The root reachable resources are:");
-              roots.forEach(root -> debugReporter.debug(() -> " " + root));
-            });
+        new ArrayList<>(
+            ResourcesUtil.findUnusedResources(
+                model.getResourceStore().getResources(),
+                roots -> {
+                  debugReporter.debug(() -> "The root reachable resources are:");
+                  roots.forEach(root -> debugReporter.debug(() -> " " + root));
+                }));
     ImmutableSet.Builder<String> resEntriesToKeepBuilder = new ImmutableSet.Builder<>();
     for (PathAndBytes xmlInput : Iterables.concat(xmlInputs, resFolderInputs)) {
       if (ResourceShrinkerImplKt.isJarPathReachable(resourceStore, xmlInput.path.toString())) {