Always close resourceshrinker debug consumer

Change-Id: I14c5cfdd4de88616e8b845af1e9fb1d8a234eb7c
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 44c289f..32658ea 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -704,6 +704,9 @@
     if (desugarGraphConsumer != null) {
       desugarGraphConsumer.finished();
     }
+    if (resourceShrinkerConfiguration.getDebugConsumer() != null) {
+      resourceShrinkerConfiguration.getDebugConsumer().finished(reporter);
+    }
   }
 
   public boolean shouldDesugarNests() {
diff --git a/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerLoggingTest.java b/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerLoggingTest.java
index 5ed2e09..72f9d40 100644
--- a/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerLoggingTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/ResourceShrinkerLoggingTest.java
@@ -6,10 +6,13 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
+import com.android.tools.r8.DiagnosticsHandler;
+import com.android.tools.r8.StringConsumer;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
 import com.android.tools.r8.androidresources.AndroidResourceTestingUtils.AndroidTestResource;
 import com.android.tools.r8.androidresources.AndroidResourceTestingUtils.AndroidTestResourceBuilder;
+import com.android.tools.r8.utils.BooleanBox;
 import com.android.tools.r8.utils.BooleanUtils;
 import com.android.tools.r8.utils.StringUtils;
 import com.google.common.collect.ImmutableList;
@@ -47,6 +50,7 @@
   @Test
   public void testR8() throws Exception {
     StringBuilder log = new StringBuilder();
+    BooleanBox finished = new BooleanBox(false);
     testForR8(parameters.getBackend())
         .setMinApi(parameters)
         .addProgramClasses(FooBar.class)
@@ -59,7 +63,17 @@
                             configurationBuilder.enableOptimizedShrinkingWithR8();
                           }
                           configurationBuilder.setDebugConsumer(
-                              (string, handler) -> log.append(string + "\n"));
+                              new StringConsumer() {
+                                @Override
+                                public void accept(String string, DiagnosticsHandler handler) {
+                                  log.append(string + "\n");
+                                }
+
+                                @Override
+                                public void finished(DiagnosticsHandler handler) {
+                                  finished.set(true);
+                                }
+                              });
                           return configurationBuilder.build();
                         }))
         .addAndroidResources(getTestResources(temp))
@@ -79,6 +93,7 @@
         .assertSuccess();
     // TODO(b/360284664): Add (non compatible) logging for optimized shrinking
     if (!optimized) {
+      assertTrue(finished.get());
       // Consistent with the old AGP embedded shrinker
       List<String> strings = StringUtils.splitLines(log.toString());
       // string:bar reachable from code