Workaround for unrealesed updated desugared library

Bug: 177977763
Change-Id: Ifdfab7e7fcd622f66913f9e90e471740bf565e8c
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java
index 1bda095..a6606ed 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java
@@ -362,8 +362,10 @@
   private class RetargetingSetup {
 
     private void setUpRetargeting() {
+      DesugaredLibraryConfiguration desugaredLibraryConfiguration =
+          appView.options().desugaredLibraryConfiguration;
       Map<DexString, Map<DexType, DexType>> retargetCoreLibMember =
-          appView.options().desugaredLibraryConfiguration.getRetargetCoreLibMember();
+          desugaredLibraryConfiguration.getRetargetCoreLibMember();
       for (DexString methodName : retargetCoreLibMember.keySet()) {
         for (DexType inType : retargetCoreLibMember.get(methodName).keySet()) {
           DexClass typeClass = appView.definitionFor(inType);
@@ -392,6 +394,22 @@
           }
         }
       }
+      if (desugaredLibraryConfiguration.isLibraryCompilation()) {
+        // TODO(b/177977763): This is only a workaround rewriting invokes of j.u.Arrays.deepEquals0
+        // to j.u.DesugarArrays.deepEquals0.
+        DexItemFactory itemFactory = appView.options().dexItemFactory();
+        DexString name = itemFactory.createString("deepEquals0");
+        DexProto proto =
+            itemFactory.createProto(
+                itemFactory.booleanType, itemFactory.objectType, itemFactory.objectType);
+        DexMethod source =
+            itemFactory.createMethod(
+                itemFactory.createType(itemFactory.arraysDescriptor), proto, name);
+        DexMethod target =
+            itemFactory.createMethod(
+                itemFactory.createType("Ljava/util/DesugarArrays;"), proto, name);
+        retargetLibraryMember.put(source, target);
+      }
     }
 
     private boolean isEmulatedInterfaceDispatch(DexClassAndMethod method) {
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
index 8031f43..f62067c 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/ObjectsTest.java
@@ -421,8 +421,8 @@
   private String expectedOutput(boolean objectsRequireNonNullWithSupplierSupported) {
     return StringUtils.lines(
         "1",
-        "true",
-        "true",
+        "false",
+        "false",
         Objects.toString(Objects.hash(1, 2)),
         "4",
         "NPE",
@@ -525,8 +525,8 @@
       boolean objectsRequireNonNullWithSupplierSupported = Boolean.parseBoolean(args[0]);
       // Android K methods.
       objectsCompare("b", "a");
-      objectsDeepEquals(args, args);
-      objectsEquals(args, args);
+      objectsDeepEquals(args, new Object());
+      objectsEquals(args, new Object());
       objectsHash(1, 2);
       objectsHashCode(4);
       objectsRequireNonNull(System.currentTimeMillis() >= 0 ? null : new Object());