diff --git a/README.md b/README.md
index 9612d299..3fd573c5 100644
--- a/README.md
+++ b/README.md
@@ -9,13 +9,13 @@ The plugin conforms to the Cordova plugin specification, it can be installed
using the Cordova / Phonegap command line interface.
# without desc
- phonegap plugin add https://github.com/Telerik-Verified-Plugins/ImagePicker.git
- cordova plugin add https://github.com/Telerik-Verified-Plugins/ImagePicker.git
+ phonegap plugin add https://github.com/VerianMobile/ImagePicker.git
+ cordova plugin add https://github.com/VerianMobile/ImagePicker.git
# with desc
- phonegap plugin add https://github.com/Telerik-Verified-Plugins/ImagePicker.git --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message"
+ phonegap plugin add https://github.com/VerianMobile/ImagePicker.git --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message"
- cordova plugin add https://github.com/Telerik-Verified-Plugins/ImagePicker.git --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message"
+ cordova plugin add https://github.com/VerianMobile/ImagePicker.git --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="your usage message"
## Using the plugin
diff --git a/plugin.xml b/plugin.xml
index e9d0e62c..6962fb7b 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -38,7 +38,7 @@
-
+
@@ -100,14 +100,14 @@
-
-
+
+
@@ -139,8 +139,10 @@
-
-
+
+
+
@@ -158,10 +160,10 @@
-
-
-
-
+
+
+
+
@@ -169,8 +171,8 @@
-
-
-
+
+
+
diff --git a/src/android/Library/src/MultiImageChooserActivity.java b/src/android/Library/src/MultiImageChooserActivity.java
index ba379e3b..6c9c78b5 100644
--- a/src/android/Library/src/MultiImageChooserActivity.java
+++ b/src/android/Library/src/MultiImageChooserActivity.java
@@ -62,8 +62,8 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.MediaStore;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.ActionBar;
import android.util.Base64;
import android.util.SparseBooleanArray;
import android.view.Display;
diff --git a/src/android/com/synconset/ImagePicker/ImagePicker.java b/src/android/com/synconset/ImagePicker/ImagePicker.java
index b534736a..c67cc778 100644
--- a/src/android/com/synconset/ImagePicker/ImagePicker.java
+++ b/src/android/com/synconset/ImagePicker/ImagePicker.java
@@ -20,8 +20,8 @@
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
public class ImagePicker extends CordovaPlugin {
@@ -32,6 +32,7 @@ public class ImagePicker extends CordovaPlugin {
private static final int PERMISSION_REQUEST_CODE = 100;
private CallbackContext callbackContext;
+
public boolean execute(String action, final JSONArray args, final CallbackContext callbackContext) throws JSONException {
this.callbackContext = callbackContext;
@@ -104,16 +105,23 @@ public boolean execute(String action, final JSONArray args, final CallbackContex
@SuppressLint("InlinedApi")
private boolean hasReadPermission() {
- return Build.VERSION.SDK_INT < 23 ||
- PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(this.cordova.getActivity(), Manifest.permission.READ_EXTERNAL_STORAGE);
+ String readImagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ readImagePermission = Manifest.permission.READ_MEDIA_IMAGES;
+ }
+ return PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(this.cordova.getActivity(), readImagePermission);
}
@SuppressLint("InlinedApi")
private void requestReadPermission() {
+ String readImagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ readImagePermission = Manifest.permission.READ_MEDIA_IMAGES;
+ }
if (!hasReadPermission()) {
ActivityCompat.requestPermissions(
this.cordova.getActivity(),
- new String[] {Manifest.permission.READ_EXTERNAL_STORAGE},
+ new String[] { readImagePermission },
PERMISSION_REQUEST_CODE);
}
// This method executes async and we seem to have no known way to receive the result
diff --git a/src/ios/SOSPicker.m b/src/ios/SOSPicker.m
index 0e2e00e7..1a35ac70 100644
--- a/src/ios/SOSPicker.m
+++ b/src/ios/SOSPicker.m
@@ -101,6 +101,7 @@ - (void)launchGMImagePicker:(bool)allow_video title:(NSString *)title message:(N
UIPopoverPresentationController *popPC = picker.popoverPresentationController;
popPC.permittedArrowDirections = UIPopoverArrowDirectionAny;
popPC.sourceView = picker.view;
+ popPC.sourceRect = CGRectMake(0, 0, 0, 0);
//popPC.sourceRect = nil;
}