package de.danoeh.antennapod.core.syndication.util;
import android.webkit.MimeTypeMap;
import org.apache.commons.io.FilenameUtils;
/** Utility class for handling MIME-Types of enclosures */
public class SyndTypeUtils {
private final static String VALID_MIMETYPE = "audio/.*" + "|" + "video/.*"
+ "|" + "application/ogg";
private SyndTypeUtils() {
}
public static boolean enclosureTypeValid(String type) {
if (type == null) {
return false;
} else {
return type.matches(VALID_MIMETYPE);
}
}
/**
* Should be used if mime-type of enclosure tag is not supported. This
* method will check if the mime-type of the file extension is supported. If
* the type is not supported, this method will return null.
*/
public static String getValidMimeTypeFromUrl(String url) {
if (url != null) {
String extension = FilenameUtils.getExtension(url);
if (extension != null) {
String type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (type != null && enclosureTypeValid(type)) {
return type;
}
}
}
return null;
}
}