react-native-rectangle-doc-scanner 15.0.0 → 15.1.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.
|
@@ -54,7 +54,7 @@ class DocumentScannerModule(reactContext: ReactApplicationContext) :
|
|
|
54
54
|
.setScannerMode(GmsDocumentScannerOptions.SCANNER_MODE_FULL)
|
|
55
55
|
.setResultFormats(GmsDocumentScannerOptions.RESULT_FORMAT_JPEG)
|
|
56
56
|
.setPageLimit(pageLimit.coerceAtMost(2))
|
|
57
|
-
.setGalleryImportAllowed(
|
|
57
|
+
.setGalleryImportAllowed(true)
|
|
58
58
|
.build()
|
|
59
59
|
|
|
60
60
|
val scanner = GmsDocumentScanning.getClient(scannerOptions)
|
package/dist/FullDocScanner.js
CHANGED
|
@@ -149,6 +149,7 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
149
149
|
const [scannerSession, setScannerSession] = (0, react_1.useState)(0);
|
|
150
150
|
const [cropEditorDocument, setCropEditorDocument] = (0, react_1.useState)(null);
|
|
151
151
|
const [cropEditorRectangle, setCropEditorRectangle] = (0, react_1.useState)(null);
|
|
152
|
+
const [androidScanAutoRequested, setAndroidScanAutoRequested] = (0, react_1.useState)(false);
|
|
152
153
|
const resolvedGridColor = gridColor ?? overlayColor;
|
|
153
154
|
const docScannerRef = (0, react_1.useRef)(null);
|
|
154
155
|
const captureModeRef = (0, react_1.useRef)(null);
|
|
@@ -165,6 +166,7 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
165
166
|
setCroppedImageData(null);
|
|
166
167
|
setCropEditorDocument(null);
|
|
167
168
|
setCropEditorRectangle(null);
|
|
169
|
+
setAndroidScanAutoRequested(false);
|
|
168
170
|
setRotationDegrees(0);
|
|
169
171
|
setRectangleDetected(false);
|
|
170
172
|
setRectangleHint(false);
|
|
@@ -519,6 +521,9 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
519
521
|
console.error('[FullDocScanner] Manual capture failed:', errorMessage, error);
|
|
520
522
|
captureModeRef.current = null;
|
|
521
523
|
captureInProgressRef.current = false;
|
|
524
|
+
if (errorMessage.includes('SCAN_CANCELLED')) {
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
522
527
|
if (error instanceof Error && error.message !== 'capture_in_progress') {
|
|
523
528
|
emitError(error, 'Failed to capture image. Please try again.');
|
|
524
529
|
}
|
|
@@ -709,6 +714,23 @@ const FullDocScanner = ({ onResult, onClose, detectionConfig, overlayColor = '#3
|
|
|
709
714
|
setCaptureReady(true);
|
|
710
715
|
}
|
|
711
716
|
}, [usesAndroidScannerActivity]);
|
|
717
|
+
(0, react_1.useEffect)(() => {
|
|
718
|
+
if (!usesAndroidScannerActivity) {
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
if (androidScanAutoRequested || croppedImageData || cropEditorDocument || processing) {
|
|
722
|
+
return;
|
|
723
|
+
}
|
|
724
|
+
setAndroidScanAutoRequested(true);
|
|
725
|
+
triggerManualCapture();
|
|
726
|
+
}, [
|
|
727
|
+
androidScanAutoRequested,
|
|
728
|
+
cropEditorDocument,
|
|
729
|
+
croppedImageData,
|
|
730
|
+
processing,
|
|
731
|
+
triggerManualCapture,
|
|
732
|
+
usesAndroidScannerActivity,
|
|
733
|
+
]);
|
|
712
734
|
const activePreviewImage = croppedImageData ? getActivePreviewImage(croppedImageData) : null;
|
|
713
735
|
return (react_1.default.createElement(react_native_1.View, { style: styles.container },
|
|
714
736
|
react_native_1.Platform.OS === 'android' && (react_1.default.createElement(react_native_1.StatusBar, { translucent: true, backgroundColor: "transparent" })),
|
package/package.json
CHANGED
package/src/FullDocScanner.tsx
CHANGED
|
@@ -220,6 +220,7 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
220
220
|
const [scannerSession, setScannerSession] = useState(0);
|
|
221
221
|
const [cropEditorDocument, setCropEditorDocument] = useState<CapturedDocument | null>(null);
|
|
222
222
|
const [cropEditorRectangle, setCropEditorRectangle] = useState<Rectangle | null>(null);
|
|
223
|
+
const [androidScanAutoRequested, setAndroidScanAutoRequested] = useState(false);
|
|
223
224
|
const resolvedGridColor = gridColor ?? overlayColor;
|
|
224
225
|
const docScannerRef = useRef<DocScannerHandle | null>(null);
|
|
225
226
|
const captureModeRef = useRef<'grid' | 'no-grid' | null>(null);
|
|
@@ -240,6 +241,7 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
240
241
|
setCroppedImageData(null);
|
|
241
242
|
setCropEditorDocument(null);
|
|
242
243
|
setCropEditorRectangle(null);
|
|
244
|
+
setAndroidScanAutoRequested(false);
|
|
243
245
|
setRotationDegrees(0);
|
|
244
246
|
setRectangleDetected(false);
|
|
245
247
|
setRectangleHint(false);
|
|
@@ -704,6 +706,10 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
704
706
|
captureModeRef.current = null;
|
|
705
707
|
captureInProgressRef.current = false;
|
|
706
708
|
|
|
709
|
+
if (errorMessage.includes('SCAN_CANCELLED')) {
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
712
|
+
|
|
707
713
|
if (error instanceof Error && error.message !== 'capture_in_progress') {
|
|
708
714
|
emitError(
|
|
709
715
|
error,
|
|
@@ -941,6 +947,26 @@ export const FullDocScanner: React.FC<FullDocScannerProps> = ({
|
|
|
941
947
|
}
|
|
942
948
|
}, [usesAndroidScannerActivity]);
|
|
943
949
|
|
|
950
|
+
useEffect(() => {
|
|
951
|
+
if (!usesAndroidScannerActivity) {
|
|
952
|
+
return;
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
if (androidScanAutoRequested || croppedImageData || cropEditorDocument || processing) {
|
|
956
|
+
return;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
setAndroidScanAutoRequested(true);
|
|
960
|
+
triggerManualCapture();
|
|
961
|
+
}, [
|
|
962
|
+
androidScanAutoRequested,
|
|
963
|
+
cropEditorDocument,
|
|
964
|
+
croppedImageData,
|
|
965
|
+
processing,
|
|
966
|
+
triggerManualCapture,
|
|
967
|
+
usesAndroidScannerActivity,
|
|
968
|
+
]);
|
|
969
|
+
|
|
944
970
|
const activePreviewImage = croppedImageData ? getActivePreviewImage(croppedImageData) : null;
|
|
945
971
|
|
|
946
972
|
return (
|