diff --git a/core/java/com/android/internal/util/MimeIconUtils.java b/core/java/com/android/internal/util/MimeIconUtils.java index 8523b4ea9b431..2230c3134301f 100644 --- a/core/java/com/android/internal/util/MimeIconUtils.java +++ b/core/java/com/android/internal/util/MimeIconUtils.java @@ -27,7 +27,7 @@ import android.util.ArrayMap; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; -import libcore.net.MimeUtils; +import libcore.net.MimeMap; import java.util.Locale; import java.util.Objects; @@ -42,7 +42,7 @@ public class MimeIconUtils { // If this MIME type has an extension, customize the label final CharSequence label; - final String ext = MimeUtils.guessExtensionFromMimeType(mimeType); + final String ext = MimeMap.getDefault().guessExtensionFromMimeType(mimeType); if (!TextUtils.isEmpty(ext) && extLabelId != -1) { label = res.getString(extLabelId, ext.toUpperCase(Locale.US)); } else { @@ -241,8 +241,9 @@ public class MimeIconUtils { // As one last-ditch effort, try "bouncing" the MIME type through its // default extension. This handles cases like "application/x-flac" to // ".flac" to "audio/flac". - final String bouncedMimeType = MimeUtils - .guessMimeTypeFromExtension(MimeUtils.guessExtensionFromMimeType(mimeType)); + MimeMap mimeMap = MimeMap.getDefault(); + final String bouncedMimeType = mimeMap + .guessMimeTypeFromExtension(mimeMap.guessExtensionFromMimeType(mimeType)); if (bouncedMimeType != null && !Objects.equals(mimeType, bouncedMimeType)) { return buildTypeInfo(bouncedMimeType); } diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java index 710b503d97fdb..72dc048291ece 100644 --- a/media/java/android/media/MediaFile.java +++ b/media/java/android/media/MediaFile.java @@ -23,7 +23,7 @@ import android.annotation.Nullable; import android.annotation.UnsupportedAppUsage; import android.mtp.MtpConstants; -import libcore.net.MimeUtils; +import libcore.net.MimeMap; import java.util.HashMap; @@ -31,10 +31,10 @@ import java.util.HashMap; * MediaScanner helper class. *

* This heavily relies upon extension to MIME type mappings which are maintained - * in {@link MimeUtils}, to ensure consistency across the OS. + * in {@link MimeMap}, to ensure consistency across the OS. *

* When adding a new file type, first add the MIME type mapping to - * {@link MimeUtils}, and then add the MTP format mapping here. + * {@link MimeMap}, and then add the MTP format mapping here. * * @hide */ @@ -287,7 +287,8 @@ public class MediaFile { @UnsupportedAppUsage public static @NonNull String getMimeTypeForFile(@Nullable String path) { - final String mimeType = MimeUtils.guessMimeTypeFromExtension(getFileExtension(path)); + String ext = getFileExtension(path); + final String mimeType = MimeMap.getDefault().guessMimeTypeFromExtension(ext); return (mimeType != null) ? mimeType : MIME_TYPE_DEFAULT; } @@ -349,10 +350,11 @@ public class MediaFile { * ".flac" to "audio/flac". */ private static @NonNull String normalizeMimeType(@Nullable String mimeType) { - final String extension = MimeUtils.guessExtensionFromMimeType(mimeType); + MimeMap mimeMap = MimeMap.getDefault(); + final String extension = mimeMap.guessExtensionFromMimeType(mimeType); if (extension != null) { - final String extensionMimeType = MimeUtils.guessMimeTypeFromExtension(extension); - if ( extensionMimeType != null) { + final String extensionMimeType = mimeMap.guessMimeTypeFromExtension(extension); + if (extensionMimeType != null) { return extensionMimeType; } } diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaFileTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaFileTest.java index 701454c32e4be..38f0175579add 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaFileTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaFileTest.java @@ -31,7 +31,7 @@ import android.mtp.MtpConstants; import androidx.test.runner.AndroidJUnit4; -import libcore.net.MimeUtils; +import libcore.net.MimeMap; import org.junit.Test; import org.junit.runner.RunWith; @@ -83,11 +83,12 @@ public class MediaFileTest { @Test public void testPlayList() throws Exception { - assertTrue(isPlayListMimeType(MimeUtils.guessMimeTypeFromExtension("pls"))); - assertTrue(isPlayListMimeType(MimeUtils.guessMimeTypeFromExtension("wpl"))); - assertTrue(isPlayListMimeType(MimeUtils.guessMimeTypeFromExtension("m3u"))); - assertTrue(isPlayListMimeType(MimeUtils.guessMimeTypeFromExtension("m3u8"))); - assertTrue(isPlayListMimeType(MimeUtils.guessMimeTypeFromExtension("asf"))); + MimeMap mimeMap = MimeMap.getDefault(); + assertTrue(isPlayListMimeType(mimeMap.guessMimeTypeFromExtension("pls"))); + assertTrue(isPlayListMimeType(mimeMap.guessMimeTypeFromExtension("wpl"))); + assertTrue(isPlayListMimeType(mimeMap.guessMimeTypeFromExtension("m3u"))); + assertTrue(isPlayListMimeType(mimeMap.guessMimeTypeFromExtension("m3u8"))); + assertTrue(isPlayListMimeType(mimeMap.guessMimeTypeFromExtension("asf"))); } @Test