Merge "Add ICU.getICUVersion() to intra core api for android_icu4j_tests"
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index 9ef579b..217915e 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -832,8 +832,8 @@
 //   m art-module-public-api-stubs-nullability-validation
 // To check that there are only the expected nullability warnings:
 //   m art-module-public-api-stubs-nullability-validation-check-nullability-warnings
-// To update the the list of known expected nullability warnings:
-//   m art-module-public-api-stubs-nullability-validation-update-nullability-warnings
+// (If that check fails, it will provide instructions on how to proceed,
+// including the command to run to update the expected warnings file.)
 droidstubs {
     name: "art-module-public-api-stubs-nullability-validation",
     srcs: [":art_module_api_files"],
diff --git a/luni/src/main/java/java/net/DefaultFileNameMap.java b/luni/src/main/java/java/net/DefaultFileNameMap.java
index d290ffe..cdd4214 100644
--- a/luni/src/main/java/java/net/DefaultFileNameMap.java
+++ b/luni/src/main/java/java/net/DefaultFileNameMap.java
@@ -16,10 +16,10 @@
 
 package java.net;
 
-import libcore.net.MimeMap;
+import libcore.content.type.MimeMap;
 
 /**
- * Implements {@link FileNameMap} in terms of {@link libcore.net.MimeMap}.
+ * Implements {@link FileNameMap} in terms of {@link MimeMap}.
  */
 class DefaultFileNameMap implements FileNameMap {
     public String getContentTypeFor(String filename) {
diff --git a/luni/src/main/java/libcore/net/MimeMap.java b/luni/src/main/java/libcore/content/type/MimeMap.java
similarity index 99%
rename from luni/src/main/java/libcore/net/MimeMap.java
rename to luni/src/main/java/libcore/content/type/MimeMap.java
index 76446b3..2ee0119 100644
--- a/luni/src/main/java/libcore/net/MimeMap.java
+++ b/luni/src/main/java/libcore/content/type/MimeMap.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package libcore.net;
+package libcore.content.type;
 
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/luni/src/main/java/libcore/content/type/TEST_MAPPING b/luni/src/main/java/libcore/content/type/TEST_MAPPING
new file mode 100644
index 0000000..8daab75
--- /dev/null
+++ b/luni/src/main/java/libcore/content/type/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name": "CtsMimeMapTestCases"
+    }
+  ]
+}
diff --git a/luni/src/main/java/libcore/net/TEST_MAPPING b/luni/src/main/java/libcore/net/TEST_MAPPING
index 6190b4f..f31705e 100644
--- a/luni/src/main/java/libcore/net/TEST_MAPPING
+++ b/luni/src/main/java/libcore/net/TEST_MAPPING
@@ -10,9 +10,6 @@
           "include-filter": "org.apache.harmony.tests.java.net"
         }
       ]
-    },
-    {
-      "name": "CtsMimeMapTestCases"
     }
   ]
 }
diff --git a/luni/src/test/java/libcore/libcore/net/MimeMapTest.java b/luni/src/test/java/libcore/libcore/content/type/MimeMapTest.java
similarity index 99%
rename from luni/src/test/java/libcore/libcore/net/MimeMapTest.java
rename to luni/src/test/java/libcore/libcore/content/type/MimeMapTest.java
index c545008..04e7b85 100644
--- a/luni/src/test/java/libcore/libcore/net/MimeMapTest.java
+++ b/luni/src/test/java/libcore/libcore/content/type/MimeMapTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package libcore.libcore.net;
+package libcore.libcore.content.type;
 
 import org.junit.After;
 import org.junit.Before;
@@ -26,8 +26,7 @@
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.function.Function;
-import libcore.net.MimeMap;
+import libcore.content.type.MimeMap;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/mmodules/core_platform_api/api/platform/current-api.txt b/mmodules/core_platform_api/api/platform/current-api.txt
index 4fc669b..15064b0 100644
--- a/mmodules/core_platform_api/api/platform/current-api.txt
+++ b/mmodules/core_platform_api/api/platform/current-api.txt
@@ -1075,6 +1075,28 @@
 
 }
 
+package libcore.content.type {
+
+  public final class MimeMap {
+    method public libcore.content.type.MimeMap.Builder buildUpon();
+    method public static libcore.content.type.MimeMap.Builder builder();
+    method @NonNull public java.util.Set<java.lang.String> extensions();
+    method @NonNull public static libcore.content.type.MimeMap getDefault();
+    method @Nullable public String guessExtensionFromMimeType(@Nullable String);
+    method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
+    method public boolean hasExtension(@Nullable String);
+    method public boolean hasMimeType(@Nullable String);
+    method @NonNull public java.util.Set<java.lang.String> mimeTypes();
+    method public static void setDefault(@NonNull libcore.content.type.MimeMap);
+  }
+
+  public static final class MimeMap.Builder {
+    method public libcore.content.type.MimeMap build();
+    method public libcore.content.type.MimeMap.Builder put(@NonNull String, @NonNull java.util.List<java.lang.String>);
+  }
+
+}
+
 package libcore.icu {
 
   public final class DateIntervalFormat {
@@ -1202,24 +1224,6 @@
     method public static java.net.InetAddress parseNumericAddress(String);
   }
 
-  public final class MimeMap {
-    method public libcore.net.MimeMap.Builder buildUpon();
-    method public static libcore.net.MimeMap.Builder builder();
-    method @NonNull public java.util.Set<java.lang.String> extensions();
-    method @NonNull public static libcore.net.MimeMap getDefault();
-    method @Nullable public String guessExtensionFromMimeType(@Nullable String);
-    method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
-    method public boolean hasExtension(@Nullable String);
-    method public boolean hasMimeType(@Nullable String);
-    method @NonNull public java.util.Set<java.lang.String> mimeTypes();
-    method public static void setDefault(@NonNull libcore.net.MimeMap);
-  }
-
-  public static final class MimeMap.Builder {
-    method public libcore.net.MimeMap build();
-    method public libcore.net.MimeMap.Builder put(@NonNull String, @NonNull java.util.List<java.lang.String>);
-  }
-
   public abstract class NetworkSecurityPolicy {
     ctor public NetworkSecurityPolicy();
     method public static libcore.net.NetworkSecurityPolicy getInstance();
diff --git a/non_openjdk_java_files.bp b/non_openjdk_java_files.bp
index 28fa59e..c080fcf 100644
--- a/non_openjdk_java_files.bp
+++ b/non_openjdk_java_files.bp
@@ -212,6 +212,7 @@
         "luni/src/main/java/libcore/api/CorePlatformApi.java",
         "luni/src/main/java/libcore/api/Hide.java",
         "luni/src/main/java/libcore/api/IntraCoreApi.java",
+        "luni/src/main/java/libcore/content/type/MimeMap.java",
         "luni/src/main/java/libcore/icu/DateIntervalFormat.java",
         "luni/src/main/java/libcore/icu/ICU.java",
         "luni/src/main/java/libcore/icu/LocaleData.java",
@@ -226,7 +227,6 @@
         "luni/src/main/java/libcore/io/Os.java",
         "luni/src/main/java/libcore/io/Streams.java",
         "luni/src/main/java/libcore/net/InetAddressUtils.java",
-        "luni/src/main/java/libcore/net/MimeMap.java",
         "luni/src/main/java/libcore/net/NetworkSecurityPolicy.java",
         "luni/src/main/java/libcore/net/event/NetworkEventDispatcher.java",
         "luni/src/main/java/libcore/timezone/CountryTimeZones.java",
diff --git a/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java b/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java
index b77b082..585b673 100644
--- a/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java
+++ b/ojluni/src/main/java/sun/nio/fs/MimeTypesFileTypeDetector.java
@@ -37,7 +37,7 @@
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import libcore.net.MimeMap;
+import libcore.content.type.MimeMap;
 
 /**
  * File type detector that uses a file extension to look up its MIME type
@@ -46,7 +46,7 @@
 
 class MimeTypesFileTypeDetector extends AbstractFileTypeDetector {
 
-    // BEGIN Android-removed: Delegate to libcore.net.MimeMap.
+    // BEGIN Android-removed: Delegate to libcore.content.type.MimeMap.
     /*
     // path to mime.types file
     private final Path mimeTypesFile;
@@ -61,7 +61,7 @@
         mimeTypesFile = filePath;
     }
     */
-    // END Android-removed: Delegate to libcore.net.MimeMap.
+    // END Android-removed: Delegate to libcore.content.type.MimeMap.
 
 
     @Override
@@ -74,7 +74,7 @@
         if (ext.isEmpty())
             return null;  // no extension
 
-        // Android-removed: Delegate to libcore.net.MimeMap.
+        // Android-removed: Delegate to libcore.content.type.MimeMap.
         // loadMimeTypes();
         // if (mimeTypeMap == null || mimeTypeMap.isEmpty())
         //    return null;
@@ -82,10 +82,10 @@
         // Case-sensitive search
         String mimeType;
         do {
-            // BEGIN Android-changed: Delegate to libcore.net.MimeMap.
+            // BEGIN Android-changed: Delegate to libcore.content.type.MimeMap.
             // mimeType = mimeTypeMap.get(ext);
             mimeType = MimeMap.getDefault().guessMimeTypeFromExtension(ext);
-            // END Android-changed: Delegate to libcore.net.MimeMap.
+            // END Android-changed: Delegate to libcore.content.type.MimeMap.
             if (mimeType == null)
                 ext = getExtension(ext);
         } while (mimeType == null && !ext.isEmpty());
@@ -105,7 +105,7 @@
         return ext;
     }
 
-    // BEGIN Android-removed: Delegate to libcore.net.MimeMap.
+    // BEGIN Android-removed: Delegate to libcore.content.type.MimeMap.
     /*
     /**
      * Parse the mime types file, and store the type-extension mappings into
@@ -218,5 +218,5 @@
         }
     }
     */
-    // END Android-removed: Delegate to libcore.net.MimeMap.
+    // END Android-removed: Delegate to libcore.content.type.MimeMap.
 }