summaryrefslogtreecommitdiff
path: root/model/src/main/java/de/danoeh/antennapod/model/playback/MediaType.java
blob: 799977e9a292b939b233c48681c59301f3eb5361 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package de.danoeh.antennapod.model.playback;

import android.text.TextUtils;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public enum MediaType {
    AUDIO, VIDEO, UNKNOWN;

    private static final Set<String> AUDIO_APPLICATION_MIME_STRINGS = new HashSet<>(Arrays.asList(
            "application/ogg",
            "application/opus",
            "application/x-flac"
    ));

    public static MediaType fromMimeType(String mimeType) {
        if (TextUtils.isEmpty(mimeType)) {
            return MediaType.UNKNOWN;
        } else if (mimeType.startsWith("audio")) {
            return MediaType.AUDIO;
        } else if (mimeType.startsWith("video")) {
            return MediaType.VIDEO;
        } else if (AUDIO_APPLICATION_MIME_STRINGS.contains(mimeType)) {
            return MediaType.AUDIO;
        }
        return MediaType.UNKNOWN;
    }
}