Fix desugared library head

Change-Id: Ie4316e5951432889ef3bfe558bc374bb93dd24dd
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/HumanToMachinePrefixConverter.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/HumanToMachinePrefixConverter.java
index 520533b..a1a8d29 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/HumanToMachinePrefixConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/HumanToMachinePrefixConverter.java
@@ -91,7 +91,7 @@
         (k, v) -> {
           for (DexMethod dexMethod : v) {
             if (dexMethod != null) {
-              registerClassType(dexMethod.getHolderType());
+              registerType(dexMethod.getHolderType());
             }
           }
         });
@@ -159,9 +159,13 @@
                   type.descriptor.withNewPrefix(prefix, k, appInfo.dexItemFactory());
               DexString rewrittenTypeDescriptor =
                   type.descriptor.withNewPrefix(prefix, v, appInfo.dexItemFactory());
+              DexType newKey = appInfo.dexItemFactory().createType(typeDescriptor);
+              assert appInfo.definitionForWithoutExistenceAssert(newKey) == null
+                  : "Trying to rewrite a type "
+                      + newKey
+                      + " with different prefix that already exists.";
               builder.rewriteType(
-                  appInfo.dexItemFactory().createType(typeDescriptor),
-                  appInfo.dexItemFactory().createType(rewrittenTypeDescriptor));
+                  newKey, appInfo.dexItemFactory().createType(rewrittenTypeDescriptor));
             });
     usedPrefix.add(prefix);
   }
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdk11/DesugaredLibraryJDK11Undesugarer.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdk11/DesugaredLibraryJDK11Undesugarer.java
index 3309c38..da24386 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdk11/DesugaredLibraryJDK11Undesugarer.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdk11/DesugaredLibraryJDK11Undesugarer.java
@@ -79,6 +79,11 @@
           if (!entry.getName().endsWith(".class")) {
             return;
           }
+          // TODO(b/244273080): Remove from the jar.
+          if (entry.getName().equals("sun/nio/fs/DefaultFileSystemProvider.class")
+              || entry.getName().equals("sun/nio/fs/DefaultFileTypeDetector.class")) {
+            return;
+          }
           final byte[] bytes = StreamUtils.streamToByteArrayClose(input);
           final byte[] rewrittenBytes =
               transformInvoke(entry.getName().substring(0, entry.getName().length() - 6), bytes);
diff --git a/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1 b/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1
index 6d54f29..6925eca 100644
--- a/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1
+++ b/third_party/openjdk/desugar_jdk_libs_11.tar.gz.sha1
@@ -1 +1 @@
-cbd86c3d046d227e71e8157742b3a1f2e4abcd8e
\ No newline at end of file
+b5f9ea4c2328d7654db2966acd6582f4c1f80081
\ No newline at end of file
diff --git a/tools/archive_desugar_jdk_libs.py b/tools/archive_desugar_jdk_libs.py
index 004450b..9ba7577 100755
--- a/tools/archive_desugar_jdk_libs.py
+++ b/tools/archive_desugar_jdk_libs.py
@@ -135,7 +135,7 @@
   git_utils.GitClone(
     'https://github.com/'
         + github_account + '/' + GITHUB_REPRO, checkout_dir)
-  git_utils.GitCheckout('3a970cd008e944845a7b3d29a3b5a13123df11fe', checkout_dir)
+  git_utils.GitCheckout('b5f9ea4c2328d7654db2966acd6582f4c1f80081', checkout_dir)
 
 def GetJavaEnv():
   java_env = dict(os.environ, JAVA_HOME = jdk.GetJdk11Home())