diff --git a/packages/mobile/android/app/src/main/java/com/standardnotes/ReceiveSharingIntentHelper.java b/packages/mobile/android/app/src/main/java/com/standardnotes/ReceiveSharingIntentHelper.java index 35ec8339f0a..6f56414d02b 100644 --- a/packages/mobile/android/app/src/main/java/com/standardnotes/ReceiveSharingIntentHelper.java +++ b/packages/mobile/android/app/src/main/java/com/standardnotes/ReceiveSharingIntentHelper.java @@ -10,16 +10,12 @@ import android.content.Intent; import android.database.Cursor; import android.net.Uri; -import android.os.Build; import android.provider.OpenableColumns; -import androidx.annotation.RequiresApi; - import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; -import java.net.URLConnection; import java.util.ArrayList; import java.util.Objects; @@ -31,7 +27,6 @@ public ReceiveSharingIntentHelper(Application context) { this.context = context; } - @RequiresApi(api = Build.VERSION_CODES.KITKAT) public void sendFileNames(Context context, Intent intent, Promise promise) { try { String action = intent.getAction(); @@ -43,20 +38,21 @@ public void sendFileNames(Context context, Intent intent, Promise promise) { WritableMap files = getMediaUris(intent, context); if (files == null) return; promise.resolve(files); - } else if (type.startsWith("text") && Objects.equals(action, Intent.ACTION_SEND)) { + } + else if (type.startsWith("text") && Objects.equals(action, Intent.ACTION_SEND)) { String text = null; String subject = null; try { text = intent.getStringExtra(Intent.EXTRA_TEXT); subject = intent.getStringExtra(Intent.EXTRA_SUBJECT); - } catch (Exception ignored) { - } + } catch (Exception ignored) {} + WritableMap files; if (text == null) { - WritableMap files = getMediaUris(intent, context); + files = getMediaUris(intent, context); if (files == null) return; - promise.resolve(files); - } else { - WritableMap files = new WritableNativeMap(); + } + else { + files = new WritableNativeMap(); WritableMap file = new WritableNativeMap(); file.putString("contentUri", null); file.putString("fileName", null); @@ -70,10 +66,10 @@ public void sendFileNames(Context context, Intent intent, Promise promise) { } file.putString("subject", subject); files.putMap("0", file); - promise.resolve(files); } - - } else if (Objects.equals(action, Intent.ACTION_VIEW)) { + promise.resolve(files); + } + else if (Objects.equals(action, Intent.ACTION_VIEW)) { String link = intent.getDataString(); WritableMap files = new WritableNativeMap(); WritableMap file = new WritableNativeMap(); @@ -85,11 +81,12 @@ public void sendFileNames(Context context, Intent intent, Promise promise) { file.putString("extension", null); files.putMap("0", file); promise.resolve(files); - } else if (Objects.equals(action, "android.intent.action.PROCESS_TEXT")) { + } + else if (Objects.equals(action, Intent.ACTION_PROCESS_TEXT)) { String text = null; try { - text = intent.getStringExtra(intent.EXTRA_PROCESS_TEXT); - } catch (Exception e) { + text = intent.getStringExtra(Intent.EXTRA_PROCESS_TEXT); + } catch (Exception ignored) { } WritableMap files = new WritableNativeMap(); WritableMap file = new WritableNativeMap(); @@ -100,7 +97,8 @@ public void sendFileNames(Context context, Intent intent, Promise promise) { file.putString("text", text); files.putMap("0", file); promise.resolve(files); - } else { + } + else { promise.reject("error", "Invalid file type."); } } catch (Exception e) { @@ -108,11 +106,8 @@ public void sendFileNames(Context context, Intent intent, Promise promise) { } } - ; - @SuppressLint("Range") - @RequiresApi(api = Build.VERSION_CODES.KITKAT) public WritableMap getMediaUris(Intent intent, Context context) { if (intent == null) return null; @@ -125,7 +120,7 @@ public WritableMap getMediaUris(Intent intent, Context context) { WritableMap files = new WritableNativeMap(); if (Objects.equals(intent.getAction(), Intent.ACTION_SEND)) { WritableMap file = new WritableNativeMap(); - Uri contentUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM); + Uri contentUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); if (contentUri == null) return null; ContentResolver contentResolver = context.getContentResolver(); file.putString("mimeType", contentResolver.getType(contentUri)); @@ -137,6 +132,7 @@ public WritableMap getMediaUris(Intent intent, Context context) { file.putString("weblink", null); file.putString("subject", subject); files.putMap("0", file); + queryResult.close(); } else if (Objects.equals(intent.getAction(), Intent.ACTION_SEND_MULTIPLE)) { ArrayList contentUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM); if (contentUris != null) { @@ -154,6 +150,7 @@ public WritableMap getMediaUris(Intent intent, Context context) { file.putString("weblink", null); file.putString("subject", subject); files.putMap(Integer.toString(index), file); + queryResult.close(); index++; } } @@ -161,12 +158,6 @@ public WritableMap getMediaUris(Intent intent, Context context) { return files; } - - private String getMediaType(String url) { - return URLConnection.guessContentTypeFromName(url); - } - - public void clearFileNames(Intent intent) { String type = intent.getType(); if (type == null) return; @@ -177,12 +168,4 @@ public void clearFileNames(Intent intent) { } } - public String getFileName(String file) { - return file.substring(file.lastIndexOf('/') + 1); - } - - public String getExtension(String file) { - return file.substring(file.lastIndexOf('.') + 1); - } - }