Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 524a3647 authored by Tobias Thierer's avatar Tobias Thierer
Browse files

Inline calls to MimeUtils.

MimeMap is a configurable replacement for MimeUtils. This
CL inlines calls to MimeUtils, in preparation for its
removal.

Bug: 120171727
Test: atest com.android.mediaframeworktest.unit.MediaFileTest
Change-Id: I8a2bfec55d913cd0f85ed13fc9cdc052208ed729
parent 55ef6317
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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);
        }
+9 −7
Original line number Diff line number Diff line
@@ -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.
 * <p>
 * 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.
 * <p>
 * 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,9 +350,10 @@ 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);
            final String extensionMimeType = mimeMap.guessMimeTypeFromExtension(extension);
            if (extensionMimeType != null) {
                return extensionMimeType;
            }
+7 −6
Original line number Diff line number Diff line
@@ -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