react-native-rectangle-doc-scanner 3.148.0 → 3.149.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/android/src/main/kotlin/com/reactnativerectangledocscanner/DocumentScannerViewManager.kt
CHANGED
|
@@ -10,7 +10,7 @@ import com.facebook.react.uimanager.annotations.ReactProp
|
|
|
10
10
|
class DocumentScannerViewManager : SimpleViewManager<DocumentScannerView>() {
|
|
11
11
|
|
|
12
12
|
companion object {
|
|
13
|
-
const val REACT_CLASS = "
|
|
13
|
+
const val REACT_CLASS = "RNPdfScanner"
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
override fun getName() = REACT_CLASS
|
package/package.json
CHANGED
|
@@ -79,21 +79,42 @@ class PdfScanner extends React.Component {
|
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
try {
|
|
82
|
-
const
|
|
82
|
+
const requestedPermissions = [
|
|
83
83
|
PermissionsAndroid.PERMISSIONS.CAMERA,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
const isTiramisuOrNewer = Platform.Version >= 33;
|
|
87
|
+
|
|
88
|
+
if (isTiramisuOrNewer) {
|
|
89
|
+
// Android 13+: storage permissions split by media type. Request images access.
|
|
90
|
+
if (PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES) {
|
|
91
|
+
requestedPermissions.push(PermissionsAndroid.PERMISSIONS.READ_MEDIA_IMAGES);
|
|
92
|
+
}
|
|
93
|
+
} else {
|
|
94
|
+
if (PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE) {
|
|
95
|
+
requestedPermissions.push(PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE);
|
|
96
|
+
}
|
|
97
|
+
if (PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE) {
|
|
98
|
+
requestedPermissions.push(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const granted = await PermissionsAndroid.requestMultiple(requestedPermissions);
|
|
87
103
|
|
|
88
104
|
const cameraGranted =
|
|
89
105
|
granted['android.permission.CAMERA'] ===
|
|
90
106
|
PermissionsAndroid.RESULTS.GRANTED;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
PermissionsAndroid.RESULTS.GRANTED
|
|
94
|
-
|
|
95
|
-
granted['android.permission.
|
|
96
|
-
|
|
107
|
+
|
|
108
|
+
const readGranted = isTiramisuOrNewer
|
|
109
|
+
? granted['android.permission.READ_MEDIA_IMAGES'] === PermissionsAndroid.RESULTS.GRANTED ||
|
|
110
|
+
granted['android.permission.READ_MEDIA_IMAGES'] === undefined
|
|
111
|
+
: granted['android.permission.READ_EXTERNAL_STORAGE'] === PermissionsAndroid.RESULTS.GRANTED ||
|
|
112
|
+
granted['android.permission.READ_EXTERNAL_STORAGE'] === undefined;
|
|
113
|
+
|
|
114
|
+
const writeGranted = isTiramisuOrNewer
|
|
115
|
+
? true // WRITE_EXTERNAL_STORAGE is deprecated on API 33+
|
|
116
|
+
: granted['android.permission.WRITE_EXTERNAL_STORAGE'] === PermissionsAndroid.RESULTS.GRANTED ||
|
|
117
|
+
granted['android.permission.WRITE_EXTERNAL_STORAGE'] === undefined;
|
|
97
118
|
|
|
98
119
|
if (cameraGranted && readGranted && writeGranted) {
|
|
99
120
|
this.setState({ permissionsAuthorized: true });
|