From c59e13db9b8add669637bd1bd9723876079f9235 Mon Sep 17 00:00:00 2001
From: zhouteng <qq1210514049@outlook.com>
Date: Wed, 22 Apr 2020 11:45:32 +0800
Subject: [PATCH] fix provider for API < 24

---
 .../java/com/zt/shareextend/ShareUtils.java   | 23 ++++++++-----------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/android/src/main/java/com/zt/shareextend/ShareUtils.java b/android/src/main/java/com/zt/shareextend/ShareUtils.java
index 86dd213..e9fddea 100644
--- a/android/src/main/java/com/zt/shareextend/ShareUtils.java
+++ b/android/src/main/java/com/zt/shareextend/ShareUtils.java
@@ -18,23 +18,20 @@ class ShareUtils {
 
         String authorities = context.getPackageName() + ".shareextend.fileprovider";
 
-        Uri uri;
-
-        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
-            uri = Uri.fromFile(file);
-        } else {
-            uri = ShareExtendProvider.getUriForPath(authorities, file.getAbsolutePath());
-        }
-
-        return uri;
+        return ShareExtendProvider.getUriForPath(authorities, file.getAbsolutePath());
     }
 
     static void grantUriPermission(Context context, List<Uri> uriList, Intent intent) {
-        for (Uri uri : uriList) {
-            List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
-            for (ResolveInfo resolveInfo : resolveInfos) {
-                context.grantUriPermission(resolveInfo.activityInfo.packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+        // some devices will crash when calling queryIntentActivities, so add try catch temporarily.
+        try {
+            for (Uri uri : uriList) {
+                List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
+                for (ResolveInfo resolveInfo : resolveInfos) {
+                    context.grantUriPermission(resolveInfo.activityInfo.packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+                }
             }
+        } catch (Exception e) {
+
         }
     }
 
-- 
2.26.2