Update AndroidAppConsumers to avoid "zip file closed" issue for CF

Bug: 124181030
Change-Id: I94d78b3325896f671e1f014cd79384d61aa0788b
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidAppConsumers.java b/src/main/java/com/android/tools/r8/utils/AndroidAppConsumers.java
index a855ab7..4b986b8 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidAppConsumers.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidAppConsumers.java
@@ -194,23 +194,37 @@
 
           @Override
           public DataResourceConsumer getDataResourceConsumer() {
-            assert consumer.getDataResourceConsumer() == null;
+            DataResourceConsumer dataResourceConsumer = consumer.getDataResourceConsumer();
             return new DataResourceConsumer() {
 
               @Override
               public void accept(
                   DataDirectoryResource directory, DiagnosticsHandler diagnosticsHandler) {
-                // Ignore.
+                if (dataResourceConsumer != null) {
+                  dataResourceConsumer.accept(directory, diagnosticsHandler);
+                }
               }
 
               @Override
               public void accept(DataEntryResource file, DiagnosticsHandler diagnosticsHandler) {
-                builder.addDataResource(file);
+                try {
+                  byte[] bytes = ByteStreams.toByteArray(file.getByteStream());
+                  DataEntryResource copy =
+                      DataEntryResource.fromBytes(bytes, file.getName(), file.getOrigin());
+                  builder.addDataResource(copy);
+                  if (dataResourceConsumer != null) {
+                    dataResourceConsumer.accept(copy, diagnosticsHandler);
+                  }
+                } catch (IOException | ResourceException e) {
+                  throw new RuntimeException(e);
+                }
               }
 
               @Override
               public void finished(DiagnosticsHandler handler) {
-                // Ignore.
+                if (dataResourceConsumer != null) {
+                  dataResourceConsumer.finished(handler);
+                }
               }
             };
           }