From fb75bf3916b6a0d4ef0ae8a5eac067219aa2e86d Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Wed, 20 Feb 2019 16:47:55 -0300 Subject: [PATCH] Prevent the app from crashing when file mime type is null (#2582) --- .../java/com/mattermost/share/RealPathUtil.java | 8 ++++++-- .../main/java/com/mattermost/share/ShareModule.java | 13 ++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/android/app/src/main/java/com/mattermost/share/RealPathUtil.java b/android/app/src/main/java/com/mattermost/share/RealPathUtil.java index 0f6e3609b..584bc4da9 100644 --- a/android/app/src/main/java/com/mattermost/share/RealPathUtil.java +++ b/android/app/src/main/java/com/mattermost/share/RealPathUtil.java @@ -205,8 +205,12 @@ public class RealPathUtil { } public static String getMimeTypeFromUri(final Context context, final Uri uri) { - ContentResolver cR = context.getContentResolver(); - return cR.getType(uri); + try { + ContentResolver cR = context.getContentResolver(); + return cR.getType(uri); + } catch (Exception e) { + return "application/octet-stream"; + } } public static void deleteTempFiles(final File dir) { diff --git a/android/app/src/main/java/com/mattermost/share/ShareModule.java b/android/app/src/main/java/com/mattermost/share/ShareModule.java index d77cd982c..203b2800a 100644 --- a/android/app/src/main/java/com/mattermost/share/ShareModule.java +++ b/android/app/src/main/java/com/mattermost/share/ShareModule.java @@ -165,12 +165,15 @@ public class ShareModule extends ReactContextBaseJavaModule { map.putString("value", text); type = RealPathUtil.getMimeTypeFromUri(currentActivity, uri); - if (type.equals("image/*")) { - type = "image/jpeg"; - } else if (type.equals("video/*")) { - type = "video/mp4"; + if (type != null) { + if (type.equals("image/*")) { + type = "image/jpeg"; + } else if (type.equals("video/*")) { + type = "video/mp4"; + } + } else { + type = "application/octet-stream"; } - map.putString("type", type); items.pushMap(map); }