From c5feba5691f3cc980633750b3350060a3a7c8236 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Fri, 9 Oct 2020 14:07:14 +0900 Subject: [PATCH] fullscreen: show PNG rotated according to Exif --- .../aves/channel/streams/ImageByteStreamHandler.java | 2 +- .../src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/android/app/src/main/java/deckers/thibault/aves/channel/streams/ImageByteStreamHandler.java b/android/app/src/main/java/deckers/thibault/aves/channel/streams/ImageByteStreamHandler.java index 107e7f22c..f257e91bd 100644 --- a/android/app/src/main/java/deckers/thibault/aves/channel/streams/ImageByteStreamHandler.java +++ b/android/app/src/main/java/deckers/thibault/aves/channel/streams/ImageByteStreamHandler.java @@ -95,7 +95,7 @@ public class ImageByteStreamHandler implements EventChannel.StreamHandler { } finally { Glide.with(activity).clear(target); } - } else if (!MimeTypes.isSupportedByFlutter(mimeType)) { + } else if (!MimeTypes.isSupportedByFlutter(mimeType, rotationDegrees)) { // we convert the image on platform side first, when Dart Image.memory does not support it FutureTarget target = Glide.with(activity) .asBitmap() diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt b/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt index 4a9c0551e..8a9879ef4 100644 --- a/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt +++ b/android/app/src/main/kotlin/deckers/thibault/aves/utils/MimeTypes.kt @@ -60,8 +60,9 @@ object MimeTypes { // as of Flutter v1.22.0 @JvmStatic - fun isSupportedByFlutter(mimeType: String) = when (mimeType) { - JPEG, PNG, GIF, WEBP, BMP, WBMP, ICO, SVG -> true + fun isSupportedByFlutter(mimeType: String, rotationDegrees: Int?) = when (mimeType) { + JPEG, GIF, WEBP, BMP, WBMP, ICO, SVG -> true + PNG -> rotationDegrees ?: 0 == 0 else -> false }