Emit information about unreachable resources

Fixed: b/446112156
Change-Id: I34fa671d75aef2df5bc841fb4eb64f780c2e2555
diff --git a/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java b/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
index 2b1762c..caf9406 100644
--- a/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
+++ b/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
@@ -259,7 +259,9 @@
     ResourceStore resourceStore = r8ResourceShrinkerModel.getResourceStore();
     resourceStore.processToolsAttributes();
     ImmutableSet<String> resEntriesToKeep = getResEntriesToKeep(resourceStore);
-    List<Integer> resourceIdsToRemove = getResourcesToRemove();
+    List<Resource> resourcesToRemove = getResourcesToRemove();
+    List<Integer> resourceIdsToRemove =
+        resourcesToRemove.stream().map(r -> r.value).collect(Collectors.toList());
 
     Map<FeatureSplit, ResourceTable> shrunkenTables = new IdentityHashMap<>();
     resourceTables.forEach(
@@ -275,6 +277,9 @@
                   + " reachable from "
                   + resourceStringEntry.getValue());
     }
+    for (Resource resource : resourcesToRemove) {
+      shrinkerDebugReporter.debug(() -> resource.toString() + " is not reachable.");
+    }
     return new ShrinkerResult(resEntriesToKeep, shrunkenTables, changedXmlFiles);
   }
 
@@ -481,11 +486,10 @@
     return resourceIdToXmlFiles;
   }
 
-  private List<Integer> getResourcesToRemove() {
+  private List<Resource> getResourcesToRemove() {
     return r8ResourceShrinkerModel.getResourceStore().getResources().stream()
         .filter(r -> !r.isReachable() && !r.isPublic())
         .filter(r -> r.type != ResourceType.ID)
-        .map(r -> r.value)
         .collect(Collectors.toList());
   }
 
diff --git a/src/test/testbase/java/com/android/tools/r8/androidresources/DebugConsumerUtils.java b/src/test/testbase/java/com/android/tools/r8/androidresources/DebugConsumerUtils.java
index fcb0070..9bd81b4 100644
--- a/src/test/testbase/java/com/android/tools/r8/androidresources/DebugConsumerUtils.java
+++ b/src/test/testbase/java/com/android/tools/r8/androidresources/DebugConsumerUtils.java
@@ -16,8 +16,12 @@
 
   private static void ensureReachableOptimized(
       List<String> logStrings, String type, String name, boolean reachable) {
-    assertEquals(
-        reachable, logStrings.stream().anyMatch(s -> s.startsWith(type + ":" + name + ":")));
+    assertTrue(
+        logStrings.stream()
+            .anyMatch(
+                s ->
+                    s.contains(type + ":" + name + ":")
+                        && s.contains(reachable ? "reachable from" : "is not reachable.")));
   }
 
   private static void ensureDexReachableResourcesState(