diff options
author | 2019-03-05 01:11:14 +0000 | |
---|---|---|
committer | 2019-03-05 01:11:14 +0000 | |
commit | 678151592d5624ad681a725404a3d4b5e0bcc4cf (patch) | |
tree | a2b4df6df142af7c6833dc0c8f356e144fbe37eb /graphics/java | |
parent | e8306fedcc89e3f07fa3aee80126473eb42c2c3d (diff) | |
parent | 575f065150240a610aa9fb7c11fd86268602a38c (diff) |
Merge "API to determine if MIME type is supported."
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/ImageDecoder.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/graphics/java/android/graphics/ImageDecoder.java b/graphics/java/android/graphics/ImageDecoder.java index 7016cc741e90..d3ca11c7f8b4 100644 --- a/graphics/java/android/graphics/ImageDecoder.java +++ b/graphics/java/android/graphics/ImageDecoder.java @@ -59,6 +59,8 @@ import java.io.IOException; import java.io.InputStream; import java.lang.annotation.Retention; import java.nio.ByteBuffer; +import java.util.Locale; +import java.util.Objects; import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicBoolean; @@ -838,6 +840,39 @@ public final class ImageDecoder implements AutoCloseable { } /** + * Return if the given MIME type is a supported file format that can be + * decoded by this class. This can be useful to determine if a file can be + * decoded directly, or if it needs to be converted into a more general + * format using an API like {@link ContentResolver#openTypedAssetFile}. + */ + public static boolean isMimeTypeSupported(@NonNull String mimeType) { + Objects.requireNonNull(mimeType); + switch (mimeType.toLowerCase(Locale.US)) { + case "image/png": + case "image/jpeg": + case "image/webp": + case "image/gif": + case "image/heif": + case "image/bmp": + case "image/x-ico": + case "image/vnd.wap.wbmp": + case "image/x-sony-arw": + case "image/x-canon-cr2": + case "image/x-adobe-dng": + case "image/x-nikon-nef": + case "image/x-nikon-nrw": + case "image/x-olympus-orf": + case "image/x-fuji-raf": + case "image/x-panasonic-rw2": + case "image/x-pentax-pef": + case "image/x-samsung-srw": + return true; + default: + return false; + } + } + + /** * Create a new {@link Source Source} from a resource. * * @param res the {@link Resources} object containing the image data. |