diff --git a/package-lock.json b/package-lock.json index 687066ca5..7add6ff0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5627,6 +5627,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -5671,7 +5672,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "optional": true }, "is-glob": { "version": "4.0.1", @@ -9505,9 +9507,9 @@ } }, "https-proxy-agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", - "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.3.tgz", + "integrity": "sha512-Ytgnz23gm2DVftnzqRRz2dOXZbGd2uiajSw/95bPp6v53zPRspQjLm/AfBgqbJ2qfeRXWIOMVLpp86+/5yX39Q==", "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -14164,6 +14166,7 @@ "redux": "4.0.4", "redux-action-buffer": "1.2.0", "redux-batched-actions": "0.4.1", + "redux-offline": "git+https://github.com/enahum/redux-offline.git#885024de96b6ec73650c340c8928066585c413df", "redux-persist": "4.9.1", "redux-thunk": "2.3.0", "reselect": "4.0.0", @@ -14171,6 +14174,11 @@ "shallow-equals": "1.0.0" }, "dependencies": { + "@react-native-community/netinfo": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-4.4.0.tgz", + "integrity": "sha512-qqNWMOsrDjj/daqV21ID2T8mNUjZD4pdx3PuWyE65gzKh2w+oMnzKb+J0NbLyZPn3wwLwU1+Cpf58A0ff5szjQ==" + }, "form-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.0.tgz", @@ -14199,9 +14207,10 @@ } }, "redux-offline": { - "version": "git+https://github.com/enahum/redux-offline.git#4bd85e7e3b279a2b11fb4d587808d583d2b5e7b5", - "from": "git+https://github.com/enahum/redux-offline.git#4bd85e7e3b279a2b11fb4d587808d583d2b5e7b5", + "version": "git+https://github.com/enahum/redux-offline.git#885024de96b6ec73650c340c8928066585c413df", + "from": "git+https://github.com/enahum/redux-offline.git#885024de96b6ec73650c340c8928066585c413df", "requires": { + "@react-native-community/netinfo": "^4.1.3", "redux-persist": "^4.5.0" } }, diff --git a/patches/react-native-image-picker+0.28.1.patch b/patches/react-native-image-picker+0.28.1.patch index 46b8ac1b5..e881691b6 100644 --- a/patches/react-native-image-picker+0.28.1.patch +++ b/patches/react-native-image-picker+0.28.1.patch @@ -1,3 +1,65 @@ +diff --git a/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerModule.java b/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerModule.java +index b4311eb..9d3f3d2 100644 +--- a/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerModule.java ++++ b/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerModule.java +@@ -47,6 +47,7 @@ import java.io.InputStream; + import java.io.OutputStream; + import java.lang.ref.WeakReference; + import java.util.List; ++import java.util.ArrayList; + + import com.facebook.react.modules.core.PermissionListener; + import com.facebook.react.modules.core.PermissionAwareActivity; +@@ -542,14 +543,23 @@ public class ImagePickerModule extends ReactContextBaseJavaModule + @NonNull final Callback callback, + @NonNull final int requestCode) + { +- final int writePermission = ActivityCompat +- .checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); +- final int cameraPermission = ActivityCompat ++ int selfCheckResult = 0; ++ switch (requestCode) { ++ case REQUEST_PERMISSIONS_FOR_CAMERA: ++ selfCheckResult = ActivityCompat + .checkSelfPermission(activity, Manifest.permission.CAMERA); ++ if (selfCheckResult == PackageManager.PERMISSION_GRANTED) { ++ selfCheckResult = ActivityCompat ++ .checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); ++ } ++ break; ++ case REQUEST_PERMISSIONS_FOR_LIBRARY: ++ selfCheckResult = ActivityCompat ++ .checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); ++ break; ++ } + +- final boolean permissionsGrated = writePermission == PackageManager.PERMISSION_GRANTED && +- cameraPermission == PackageManager.PERMISSION_GRANTED; +- ++ final boolean permissionsGrated = selfCheckResult == PackageManager.PERMISSION_GRANTED; + if (!permissionsGrated) + { + final Boolean dontAskAgain = ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) && ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA); +@@ -598,7 +608,18 @@ public class ImagePickerModule extends ReactContextBaseJavaModule + } + else + { +- String[] PERMISSIONS = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; ++ List permissions = new ArrayList(); ++ if (requestCode == REQUEST_PERMISSIONS_FOR_CAMERA ) ++ { ++ permissions.add(Manifest.permission.CAMERA); ++ permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); ++ } ++ if (requestCode == REQUEST_PERMISSIONS_FOR_LIBRARY ) ++ { ++ permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); ++ } ++ ++ String[] PERMISSIONS = permissions.toArray(new String[0]); + if (activity instanceof ReactActivity) + { + ((ReactActivity) activity).requestPermissions(PERMISSIONS, requestCode, listener); diff --git a/node_modules/react-native-image-picker/ios/ImagePickerManager.m b/node_modules/react-native-image-picker/ios/ImagePickerManager.m index 28d5870..3f70983 100644 --- a/node_modules/react-native-image-picker/ios/ImagePickerManager.m @@ -27,4 +89,4 @@ index 28d5870..3f70983 100644 + } } } - +