Disable xml inlining per default

XML inlining broke in eos.

Change-Id: I77c9f5e3293ce9aa7b58f3242313d7612e4e8b26
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 369a7fc..1e182f5 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -783,6 +783,8 @@
       System.getProperty("com.android.tools.r8.pruneNonVissibleAnnotationClasses") != null;
   public boolean experimentalTraceAndroidEnumSerialization =
       System.getProperty("com.android.tools.r8.experimentalTraceAndroidEnumSerialization") != null;
+  public boolean enableXmlInlining =
+      System.getProperty("com.android.tools.r8.enableXmlInlining") != null;
 
   // Flag to turn on/offLoad/store optimization in the Cf back-end.
   public boolean enableLoadStoreOptimization = true;
diff --git a/src/main/java/com/android/tools/r8/utils/ResourceShrinkerUtils.java b/src/main/java/com/android/tools/r8/utils/ResourceShrinkerUtils.java
index 79a5d39..4ffdefa 100644
--- a/src/main/java/com/android/tools/r8/utils/ResourceShrinkerUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/ResourceShrinkerUtils.java
@@ -24,7 +24,8 @@
         new R8ResourceShrinkerState(
             exception -> appView.reporter().fatalError(new ExceptionDiagnostic(exception)),
             shrinkerDebugReporterFromStringConsumer(
-                options.resourceShrinkerConfiguration.getDebugConsumer(), appView.reporter()));
+                options.resourceShrinkerConfiguration.getDebugConsumer(), appView.reporter()),
+            options.enableXmlInlining);
     if (options.isOptimizedResourceShrinking()) {
       try {
         addResources(appView, state, options.androidResourceProvider, FeatureSplit.BASE);
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 d58a2d2..2b1762c 100644
--- a/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
+++ b/src/resourceshrinker/java/com/android/build/shrinker/r8integration/R8ResourceShrinkerState.java
@@ -66,6 +66,7 @@
   private final Map<String, Supplier<InputStream>> resfileProviders = new HashMap<>();
   private final Map<FeatureSplit, ResourceTable> resourceTables = new HashMap<>();
   private final ShrinkerDebugReporter shrinkerDebugReporter;
+  private final boolean enableXmlInlining;
   private ClassReferenceCallback enqueuerCallback;
   private MethodReferenceCallback methodCallback;
   private Map<Integer, Set<String>> resourceIdToXmlFiles;
@@ -99,10 +100,12 @@
 
   public R8ResourceShrinkerState(
       Function<Exception, RuntimeException> errorHandler,
-      ShrinkerDebugReporter shrinkerDebugReporter) {
+      ShrinkerDebugReporter shrinkerDebugReporter,
+      boolean enableXmlInlining) {
     r8ResourceShrinkerModel = new R8ResourceShrinkerModel(shrinkerDebugReporter, true);
     this.shrinkerDebugReporter = shrinkerDebugReporter;
     this.errorHandler = errorHandler;
+    this.enableXmlInlining = enableXmlInlining;
   }
 
   public void trace(int id, String reachableFrom) {
@@ -344,6 +347,9 @@
 
   private boolean tryInlineValues(
       XmlNode.Builder xmlNodeBuilder, Consumer<IntSet> inlinedIdsConsumer) {
+    if (!enableXmlInlining) {
+      return false;
+    }
     XmlElement.Builder elementBuilder = xmlNodeBuilder.getElementBuilder();
     IntSet inlinedIds = null;
     for (XmlAttribute.Builder attributeBuilder : elementBuilder.getAttributeBuilderList()) {
diff --git a/src/test/java/com/android/tools/r8/androidresources/ColorInliningTest.java b/src/test/java/com/android/tools/r8/androidresources/ColorInliningTest.java
index 05ff796..ad0627c 100644
--- a/src/test/java/com/android/tools/r8/androidresources/ColorInliningTest.java
+++ b/src/test/java/com/android/tools/r8/androidresources/ColorInliningTest.java
@@ -85,6 +85,10 @@
             AndroidResourceTestingUtils.transformResourcesReferences(FooBar.class))
         .addAndroidResources(testResources)
         .addKeepMainRule(FooBar.class)
+        .applyIf(
+            parameters.getPartialCompilationTestParameters().isSome(),
+            rr -> rr.addR8PartialR8OptionsModification(o -> o.enableXmlInlining = true),
+            rr -> rr.addOptionsModification(o -> o.enableXmlInlining = true))
         .applyIf(optimize, R8TestBuilder::enableOptimizedShrinking)
         .applyIf(
             addResourcesSubclass,