Disable UnusedProguardKeepRuleDiagnostic in L8

Bug: b/358166486
Change-Id: I470fea38d86542c5206b00ad4696b5f2be9a4a0e
diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java
index bf1f0c0..1adf080 100644
--- a/src/main/java/com/android/tools/r8/R8Command.java
+++ b/src/main/java/com/android/tools/r8/R8Command.java
@@ -1324,6 +1324,7 @@
     internal.loadAllClassDefinitions = l8Shrinking;
     if (l8Shrinking) {
       internal.apiModelingOptions().disableStubbingOfClasses();
+      internal.ignoreUnusedProguardRules = true;
     }
     internal.desugaredLibraryKeepRuleConsumer = desugaredLibraryKeepRuleConsumer;
 
diff --git a/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java b/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java
index 4836910..e821da8 100644
--- a/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java
+++ b/src/main/java/com/android/tools/r8/shaking/RootSetUtils.java
@@ -1931,6 +1931,9 @@
       if (!options.isShrinking()) {
         return;
       }
+      if (options.ignoreUnusedProguardRules) {
+        return;
+      }
       List<ProguardConfigurationRule> rules = options.getProguardConfiguration().getRules();
       if (rules == null) {
         return;
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 8ac9315..9c850e7 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -930,6 +930,7 @@
     return testing.readInputStackMaps ? testing.readInputStackMaps : isGeneratingClassFiles();
   }
 
+  public boolean ignoreUnusedProguardRules = false;
   public boolean ignoreMissingClasses = false;
   public boolean reportMissingClassesInEnclosingMethodAttribute = false;
   public boolean reportMissingClassesInInnerClassAttributes = false;