From e0aa3bce88f7f711bd21970436d4e4f850cf6986 Mon Sep 17 00:00:00 2001 From: Huu Truong Date: Thu, 29 Sep 2022 16:23:56 +0700 Subject: [PATCH] fix(android): Save video on Android (#430) --- .../reactnativecommunity/cameraroll/CameraRollModule.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/reactnativecommunity/cameraroll/CameraRollModule.java b/android/src/main/java/com/reactnativecommunity/cameraroll/CameraRollModule.java index 0df2e23..02a3170 100644 --- a/android/src/main/java/com/reactnativecommunity/cameraroll/CameraRollModule.java +++ b/android/src/main/java/com/reactnativecommunity/cameraroll/CameraRollModule.java @@ -144,6 +144,7 @@ public class CameraRollModule extends ReactContextBaseJavaModule { OutputStream output = null; String mimeType = Utils.getMimeType(mUri.getPath()); + Boolean isVideo = mimeType != null && mimeType.contains("video"); try { String album = mOptions.getString("album"); @@ -160,8 +161,9 @@ public class CameraRollModule extends ReactContextBaseJavaModule { mediaDetails.put(Images.Media.DISPLAY_NAME, source.getName()); mediaDetails.put(Images.Media.IS_PENDING, 1); ContentResolver resolver = mContext.getContentResolver(); - Uri mediaContentUri = resolver - .insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mediaDetails); + Uri mediaContentUri = isVideo + ? resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, mediaDetails) + : resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mediaDetails); output = resolver.openOutputStream(mediaContentUri); input = new FileInputStream(source); FileUtils.copy(input, output);