diff options
Diffstat (limited to 'parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/util/SyndTypeUtils.java')
-rw-r--r-- | parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/util/SyndTypeUtils.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/util/SyndTypeUtils.java b/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/util/SyndTypeUtils.java index 2e6cf864f..dfd7801a5 100644 --- a/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/util/SyndTypeUtils.java +++ b/parser/feed/src/main/java/de/danoeh/antennapod/parser/feed/util/SyndTypeUtils.java @@ -1,17 +1,32 @@ package de.danoeh.antennapod.parser.feed.util; import android.webkit.MimeTypeMap; +import androidx.annotation.Nullable; import org.apache.commons.io.FilenameUtils; /** * Utility class for handling MIME-Types of enclosures. * */ public class SyndTypeUtils { + public static final String OCTET_STREAM = "application/octet-stream"; + private SyndTypeUtils() { } - public static boolean enclosureTypeValid(String type) { + @Nullable + public static String getMimeType(@Nullable String type, @Nullable String filename) { + if (isMediaFile(type) && !OCTET_STREAM.equals(type)) { + return type; + } + String filenameType = SyndTypeUtils.getMimeTypeFromUrl(filename); + if (isMediaFile(filenameType)) { + return filenameType; + } + return type; + } + + public static boolean isMediaFile(String type) { if (type == null) { return false; } else { @@ -22,7 +37,7 @@ public class SyndTypeUtils { } } - public static boolean imageTypeValid(String type) { + public static boolean isImageFile(String type) { if (type == null) { return false; } else { @@ -34,7 +49,7 @@ public class SyndTypeUtils { * Should be used if mime-type of enclosure tag is not supported. This * method will return the mime-type of the file extension. */ - public static String getMimeTypeFromUrl(String url) { + private static String getMimeTypeFromUrl(String url) { if (url == null) { return null; } |