Ensure that we trace transitive resources from the manifest

Before we would correctly have the xml file as live in the final
shrinkModel call, but we would not actually trace the references in it
(code or other references)

Bug: b/346977543
Change-Id: I97e3a1a74112afc6950526dd7af95140103635b0
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 c3e2ad4..f289319 100644
--- a/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
+++ b/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
@@ -219,6 +219,11 @@
     try {
       XmlNode xmlNode = XmlNode.parseFrom(inputStream);
       visitNode(xmlNode, xmlFile);
+      // Ensure that we trace the transitive reachable ids, without us having to iterate all
+      // resources for the reachable marker.
+      ProtoAndroidManifestUsageRecorderKt.recordUsagesFromNode(xmlNode, r8ResourceShrinkerModel)
+          .iterator()
+          .forEachRemaining(resource -> trace(resource.value));
     } catch (IOException e) {
       errorHandler.apply(e);
     }