@regulaforensics/cordova-plugin-document-reader-api 6.5.0 → 6.6.1
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/example/config.xml +7 -0
- package/example/package.json +2 -2
- package/example/www/index.html +109 -111
- package/example/www/js/index.js +17 -6
- package/package.json +1 -1
- package/plugin.xml +5 -3
- package/src/android/BluetoothUtil.kt +108 -0
- package/src/android/DocumentReader.java +268 -11
- package/src/android/Helpers.java +6 -5
- package/src/android/JSONConstructor.java +154 -1341
- package/src/android/RegulaConfig.java +22 -1
- package/src/android/build.gradle +7 -11
- package/src/ios/RGLDocumentReader.m +204 -26
- package/src/ios/RGLWJSONConstructor.h +6 -0
- package/src/ios/RGLWJSONConstructor.m +102 -1
- package/src/ios/RegulaConfig.m +25 -1
- package/www/DocumentReader.js +115 -204
- package/example/www/certificates/icaopkd-002-ml-000131.ldif +0 -40593
- package/tmp.64209.json +0 -30
|
@@ -9,10 +9,12 @@ import android.content.IntentFilter;
|
|
|
9
9
|
import android.graphics.Bitmap;
|
|
10
10
|
import android.nfc.NfcAdapter;
|
|
11
11
|
import android.nfc.tech.IsoDep;
|
|
12
|
-
import androidx.annotation.NonNull;
|
|
13
12
|
import android.os.Bundle;
|
|
14
13
|
import android.util.Base64;
|
|
15
14
|
|
|
15
|
+
import androidx.annotation.NonNull;
|
|
16
|
+
|
|
17
|
+
import com.regula.documentreader.api.completions.ICheckDatabaseUpdate;
|
|
16
18
|
import com.regula.documentreader.api.completions.IDocumentReaderCompletion;
|
|
17
19
|
import com.regula.documentreader.api.completions.IDocumentReaderInitCompletion;
|
|
18
20
|
import com.regula.documentreader.api.completions.IDocumentReaderPrepareCompletion;
|
|
@@ -23,13 +25,16 @@ import com.regula.documentreader.api.completions.ITccParamsCompletion;
|
|
|
23
25
|
import com.regula.documentreader.api.enums.DocReaderAction;
|
|
24
26
|
import com.regula.documentreader.api.errors.DocumentReaderException;
|
|
25
27
|
import com.regula.documentreader.api.internal.core.CoreScenarioUtil;
|
|
28
|
+
import com.regula.documentreader.api.params.BleDeviceConfig;
|
|
26
29
|
import com.regula.documentreader.api.params.DocReaderConfig;
|
|
27
30
|
import com.regula.documentreader.api.params.ImageInputData;
|
|
28
31
|
import com.regula.documentreader.api.internal.params.ImageInputParam;
|
|
29
32
|
import com.regula.documentreader.api.params.rfid.PKDCertificate;
|
|
30
33
|
import com.regula.documentreader.api.params.rfid.authorization.PAResourcesIssuer;
|
|
31
34
|
import com.regula.documentreader.api.params.rfid.authorization.TAChallenge;
|
|
35
|
+
import com.regula.documentreader.api.results.DocumentReaderGraphicField;
|
|
32
36
|
import com.regula.documentreader.api.results.DocumentReaderResults;
|
|
37
|
+
import com.regula.documentreader.api.results.DocumentReaderTextField;
|
|
33
38
|
import com.regula.documentreader.api.internal.parser.DocReaderResultsJsonParser;
|
|
34
39
|
|
|
35
40
|
import org.apache.cordova.CallbackContext;
|
|
@@ -57,9 +62,15 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
57
62
|
private IRfidPKDCertificateCompletion taCertificateCompletion;
|
|
58
63
|
private IRfidTASignatureCompletion taSignatureCompletion;
|
|
59
64
|
private final static String rfidNotificationCompletionEvent = "rfidNotificationCompletionEvent";
|
|
65
|
+
|
|
60
66
|
private final static String paCertificateCompletionEvent = "paCertificateCompletionEvent";
|
|
61
67
|
private final static String taCertificateCompletionEvent = "taCertificateCompletionEvent";
|
|
62
68
|
private final static String taSignatureCompletionEvent = "taSignatureCompletionEvent";
|
|
69
|
+
|
|
70
|
+
private final static String bleOnServiceConnectedEvent = "bleOnServiceConnectedEvent";
|
|
71
|
+
private final static String bleOnServiceDisconnectedEvent = "bleOnServiceDisconnectedEvent";
|
|
72
|
+
private final static String bleOnDeviceReadyEvent = "bleOnDeviceReadyEvent";
|
|
73
|
+
|
|
63
74
|
private static int databaseDownloadProgress = 0;
|
|
64
75
|
|
|
65
76
|
private Context getContext() {
|
|
@@ -118,13 +129,13 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
118
129
|
}
|
|
119
130
|
|
|
120
131
|
private void sendIRfidNotificationCompletion(int notification, Bundle value) {
|
|
121
|
-
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, rfidNotificationCompletionEvent + JSONConstructor.generateRfidNotificationCompletion(notification, value)
|
|
132
|
+
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, rfidNotificationCompletionEvent + JSONConstructor.generateRfidNotificationCompletion(notification, value));
|
|
122
133
|
pluginResult.setKeepCallback(true);
|
|
123
134
|
callbackContext.sendPluginResult(pluginResult);
|
|
124
135
|
}
|
|
125
136
|
|
|
126
137
|
private void sendPACertificateCompletion(byte[] serialNumber, PAResourcesIssuer issuer) {
|
|
127
|
-
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, paCertificateCompletionEvent + JSONConstructor.generatePACertificateCompletion(serialNumber, issuer)
|
|
138
|
+
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, paCertificateCompletionEvent + JSONConstructor.generatePACertificateCompletion(serialNumber, issuer));
|
|
128
139
|
pluginResult.setKeepCallback(true);
|
|
129
140
|
callbackContext.sendPluginResult(pluginResult);
|
|
130
141
|
}
|
|
@@ -135,7 +146,23 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
135
146
|
callbackContext.sendPluginResult(pluginResult);
|
|
136
147
|
}
|
|
137
148
|
private void sendTASignatureCompletion(TAChallenge challenge) {
|
|
138
|
-
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, taSignatureCompletionEvent + JSONConstructor.generateTAChallenge(challenge)
|
|
149
|
+
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, taSignatureCompletionEvent + JSONConstructor.generateTAChallenge(challenge));
|
|
150
|
+
pluginResult.setKeepCallback(true);
|
|
151
|
+
callbackContext.sendPluginResult(pluginResult);
|
|
152
|
+
}
|
|
153
|
+
private void sendBleOnServiceConnectedEvent(boolean isBleManagerConnected) {
|
|
154
|
+
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, bleOnServiceConnectedEvent + isBleManagerConnected);
|
|
155
|
+
pluginResult.setKeepCallback(true);
|
|
156
|
+
callbackContext.sendPluginResult(pluginResult);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
private void sendBleOnServiceDisconnectedEvent() {
|
|
160
|
+
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, bleOnServiceDisconnectedEvent);
|
|
161
|
+
pluginResult.setKeepCallback(true);
|
|
162
|
+
callbackContext.sendPluginResult(pluginResult);
|
|
163
|
+
}
|
|
164
|
+
private void sendBleOnDeviceReadyEvent() {
|
|
165
|
+
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, bleOnDeviceReadyEvent);
|
|
139
166
|
pluginResult.setKeepCallback(true);
|
|
140
167
|
callbackContext.sendPluginResult(pluginResult);
|
|
141
168
|
}
|
|
@@ -168,6 +195,18 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
168
195
|
case "initializeReaderAutomatically":
|
|
169
196
|
initializeReaderAutomatically(callback);
|
|
170
197
|
break;
|
|
198
|
+
case "isBlePermissionsGranted":
|
|
199
|
+
isBlePermissionsGranted(callback);
|
|
200
|
+
break;
|
|
201
|
+
case "startBluetoothService":
|
|
202
|
+
startBluetoothService(callback);
|
|
203
|
+
break;
|
|
204
|
+
case "initializeReaderBleDeviceConfig":
|
|
205
|
+
initializeReaderBleDeviceConfig(callback);
|
|
206
|
+
break;
|
|
207
|
+
case "getTag":
|
|
208
|
+
getTag(callback);
|
|
209
|
+
break;
|
|
171
210
|
case "getAPIVersion":
|
|
172
211
|
getAPIVersion(callback);
|
|
173
212
|
break;
|
|
@@ -288,6 +327,12 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
288
327
|
case "setCameraSessionIsPaused":
|
|
289
328
|
setCameraSessionIsPaused(callback, args(0));
|
|
290
329
|
break;
|
|
330
|
+
case "setTag":
|
|
331
|
+
setTag(callback, args(0));
|
|
332
|
+
break;
|
|
333
|
+
case "checkDatabaseUpdate":
|
|
334
|
+
checkDatabaseUpdate(callback, args(0));
|
|
335
|
+
break;
|
|
291
336
|
case "getScenario":
|
|
292
337
|
getScenario(callback, args(0));
|
|
293
338
|
break;
|
|
@@ -351,8 +396,60 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
351
396
|
case "recognizeImagesWithImageInputs":
|
|
352
397
|
recognizeImagesWithImageInputs(callback, args(0));
|
|
353
398
|
break;
|
|
399
|
+
case "getTextFieldValueByType":
|
|
400
|
+
getTextFieldValueByType(callback, args(0), args(1));
|
|
401
|
+
break;
|
|
402
|
+
case "getTextFieldValueByTypeLcid":
|
|
403
|
+
getTextFieldValueByTypeLcid(callback, args(0), args(1), args(2));
|
|
404
|
+
break;
|
|
405
|
+
case "getTextFieldValueByTypeSource":
|
|
406
|
+
getTextFieldValueByTypeSource(callback, args(0), args(1), args(2));
|
|
407
|
+
break;
|
|
408
|
+
case "getTextFieldValueByTypeLcidSource":
|
|
409
|
+
getTextFieldValueByTypeLcidSource(callback, args(0), args(1), args(2), args(3));
|
|
410
|
+
break;
|
|
411
|
+
case "getTextFieldValueByTypeSourceOriginal":
|
|
412
|
+
getTextFieldValueByTypeSourceOriginal(callback, args(0), args(1), args(2), args(3));
|
|
413
|
+
break;
|
|
414
|
+
case "getTextFieldValueByTypeLcidSourceOriginal":
|
|
415
|
+
getTextFieldValueByTypeLcidSourceOriginal(callback, args(0), args(1), args(2), args(3), args(4));
|
|
416
|
+
break;
|
|
417
|
+
case "getTextFieldByType":
|
|
418
|
+
getTextFieldByType(callback, args(0), args(1));
|
|
419
|
+
break;
|
|
420
|
+
case "getTextFieldByTypeLcid":
|
|
421
|
+
getTextFieldByTypeLcid(callback, args(0), args(1), args(2));
|
|
422
|
+
break;
|
|
423
|
+
case "getGraphicFieldByTypeSource":
|
|
424
|
+
getGraphicFieldByTypeSource(callback, args(0), args(1), args(2));
|
|
425
|
+
break;
|
|
426
|
+
case "getGraphicFieldByTypeSourcePageIndex":
|
|
427
|
+
getGraphicFieldByTypeSourcePageIndex(callback, args(0), args(1), args(2), args(3));
|
|
428
|
+
break;
|
|
429
|
+
case "getGraphicFieldByTypeSourcePageIndexLight":
|
|
430
|
+
getGraphicFieldByTypeSourcePageIndexLight(callback, args(0), args(1), args(2), args(3), args(4));
|
|
431
|
+
break;
|
|
432
|
+
case "getGraphicFieldImageByType":
|
|
433
|
+
getGraphicFieldImageByType(callback, args(0), args(1));
|
|
434
|
+
break;
|
|
435
|
+
case "getGraphicFieldImageByTypeSource":
|
|
436
|
+
getGraphicFieldImageByTypeSource(callback, args(0), args(1), args(2));
|
|
437
|
+
break;
|
|
438
|
+
case "getGraphicFieldImageByTypeSourcePageIndex":
|
|
439
|
+
getGraphicFieldImageByTypeSourcePageIndex(callback, args(0), args(1), args(2), args(3));
|
|
440
|
+
break;
|
|
441
|
+
case "getGraphicFieldImageByTypeSourcePageIndexLight":
|
|
442
|
+
getGraphicFieldImageByTypeSourcePageIndexLight(callback, args(0), args(1), args(2), args(3), args(4));
|
|
443
|
+
break;
|
|
444
|
+
case "getContainers":
|
|
445
|
+
getContainers(callback, args(0), args(1));
|
|
446
|
+
break;
|
|
447
|
+
case "getEncryptedContainers":
|
|
448
|
+
getEncryptedContainers(callback, args(0));
|
|
449
|
+
break;
|
|
354
450
|
}
|
|
355
|
-
} catch (Exception
|
|
451
|
+
} catch (Exception e) {
|
|
452
|
+
e.printStackTrace();
|
|
356
453
|
}
|
|
357
454
|
return true;
|
|
358
455
|
}
|
|
@@ -396,6 +493,37 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
396
493
|
callback.success("already initialized");
|
|
397
494
|
}
|
|
398
495
|
|
|
496
|
+
private void isBlePermissionsGranted(Callback callback) {
|
|
497
|
+
callback.success(BluetoothUtil.Companion.isBlePermissionsGranted(getActivity()));
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
private void startBluetoothService(Callback callback) {
|
|
501
|
+
BluetoothUtil.Companion.startBluetoothService(
|
|
502
|
+
getActivity(),
|
|
503
|
+
isBleManagerConnected -> {
|
|
504
|
+
sendBleOnServiceConnectedEvent(isBleManagerConnected);
|
|
505
|
+
return null;
|
|
506
|
+
},
|
|
507
|
+
() -> {
|
|
508
|
+
sendBleOnServiceDisconnectedEvent();
|
|
509
|
+
return null;
|
|
510
|
+
},
|
|
511
|
+
() -> {
|
|
512
|
+
sendBleOnDeviceReadyEvent();
|
|
513
|
+
return null;
|
|
514
|
+
}
|
|
515
|
+
);
|
|
516
|
+
callback.success();
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
private void initializeReaderBleDeviceConfig(Callback callback) {
|
|
520
|
+
if (BluetoothUtil.Companion.getBleManager() == null) callback.error("bleManager is null");
|
|
521
|
+
if (!Instance().isReady())
|
|
522
|
+
Instance().initializeReader(getContext(), new BleDeviceConfig(BluetoothUtil.Companion.getBleManager()), getInitCompletion(callback));
|
|
523
|
+
else
|
|
524
|
+
callback.success("already initialized");
|
|
525
|
+
}
|
|
526
|
+
|
|
399
527
|
private void getAvailableScenarios(Callback callback) throws JSONException {
|
|
400
528
|
callback.success(JSONConstructor.generateList(Instance().availableScenarios, JSONConstructor::generateDocumentReaderScenario).toString());
|
|
401
529
|
}
|
|
@@ -512,6 +640,20 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
512
640
|
callback.success();
|
|
513
641
|
}
|
|
514
642
|
|
|
643
|
+
private void getTag(Callback callback) {
|
|
644
|
+
callback.success(Instance().tag);
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
private void setTag(Callback callback, String tag) {
|
|
648
|
+
Instance().tag = tag;
|
|
649
|
+
callback.success();
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
private void checkDatabaseUpdate(Callback callback, String databaseId) {
|
|
653
|
+
Instance().checkDatabaseUpdate(getContext(), databaseId, getCheckDatabaseUpdateCompletion(callback));
|
|
654
|
+
callback.success();
|
|
655
|
+
}
|
|
656
|
+
|
|
515
657
|
private void startNewPage(Callback callback) {
|
|
516
658
|
Instance().startNewPage();
|
|
517
659
|
callback.success();
|
|
@@ -553,7 +695,7 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
553
695
|
}
|
|
554
696
|
|
|
555
697
|
private void cancelDBUpdate(Callback callback) {
|
|
556
|
-
callback.success(Instance().cancelDBUpdate());
|
|
698
|
+
callback.success(Instance().cancelDBUpdate(getContext()));
|
|
557
699
|
}
|
|
558
700
|
|
|
559
701
|
private void resetConfiguration(Callback callback) {
|
|
@@ -686,20 +828,131 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
686
828
|
callback.success();
|
|
687
829
|
}
|
|
688
830
|
|
|
689
|
-
private void setCameraSessionIsPaused(Callback callback, @SuppressWarnings("unused") boolean ignored) {
|
|
690
|
-
callback.error("setCameraSessionIsPaused() is an ios-only method");
|
|
691
|
-
}
|
|
692
|
-
|
|
693
831
|
private void setRfidDelegate(Callback callback, int delegate) {
|
|
694
832
|
rfidDelegate = delegate;
|
|
695
833
|
callback.success();
|
|
696
834
|
}
|
|
697
835
|
|
|
836
|
+
private void getTextFieldValueByType(Callback callback, String raw, int fieldType) {
|
|
837
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
838
|
+
callback.success(results.getTextFieldValueByType(fieldType));
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
private void getTextFieldValueByTypeLcid(Callback callback, String raw, int fieldType, int lcid) {
|
|
842
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
843
|
+
callback.success(results.getTextFieldValueByType(fieldType, lcid));
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
private void getTextFieldValueByTypeSource(Callback callback, String raw, int fieldType, int source) {
|
|
847
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
848
|
+
callback.success(results.getTextFieldValueByTypeAndSource(fieldType, source));
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
private void getTextFieldValueByTypeLcidSource(Callback callback, String raw, int fieldType, int lcid, int source) {
|
|
852
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
853
|
+
callback.success(results.getTextFieldValueByType(fieldType, lcid, source));
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
private void getTextFieldValueByTypeSourceOriginal(Callback callback, String raw, int fieldType, int source, boolean original) {
|
|
857
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
858
|
+
callback.success(results.getTextFieldValueByTypeAndSource(fieldType, source, original));
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
private void getTextFieldValueByTypeLcidSourceOriginal(Callback callback, String raw, int fieldType, int lcid, int source, boolean original) {
|
|
862
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
863
|
+
callback.success(results.getTextFieldValueByType(fieldType, lcid, source, original));
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
private void getTextFieldByType(Callback callback, String raw, int fieldType) {
|
|
867
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
868
|
+
DocumentReaderTextField result = results.getTextFieldByType(fieldType);
|
|
869
|
+
if (result == null)
|
|
870
|
+
callback.success(null);
|
|
871
|
+
else
|
|
872
|
+
callback.success(JSONConstructor.generateDocumentReaderTextField(result, getContext()).toString());
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
private void getTextFieldByTypeLcid(Callback callback, String raw, int fieldType, int lcid) {
|
|
876
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
877
|
+
DocumentReaderTextField result = results.getTextFieldByType(fieldType, lcid);
|
|
878
|
+
if (result == null)
|
|
879
|
+
callback.success(null);
|
|
880
|
+
else
|
|
881
|
+
callback.success(JSONConstructor.generateDocumentReaderTextField(result, getContext()).toString());
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
private void getGraphicFieldByTypeSource(Callback callback, String raw, int fieldType, int source) {
|
|
885
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
886
|
+
DocumentReaderGraphicField result = results.getGraphicFieldByType(fieldType, source);
|
|
887
|
+
if (result == null)
|
|
888
|
+
callback.success(null);
|
|
889
|
+
else
|
|
890
|
+
callback.success(JSONConstructor.generateDocumentReaderGraphicField(result, getContext()).toString());
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
private void getGraphicFieldByTypeSourcePageIndex(Callback callback, String raw, int fieldType, int source, int pageIndex) {
|
|
894
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
895
|
+
DocumentReaderGraphicField result = results.getGraphicFieldByType(fieldType, source, pageIndex);
|
|
896
|
+
if (result == null)
|
|
897
|
+
callback.success(null);
|
|
898
|
+
else
|
|
899
|
+
callback.success(JSONConstructor.generateDocumentReaderGraphicField(result, getContext()).toString());
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
private void getGraphicFieldByTypeSourcePageIndexLight(Callback callback, String raw, int fieldType, int source, int pageIndex, int light) {
|
|
903
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
904
|
+
DocumentReaderGraphicField result = results.getGraphicFieldByType(fieldType, source, pageIndex, light);
|
|
905
|
+
if (result == null)
|
|
906
|
+
callback.success(null);
|
|
907
|
+
else
|
|
908
|
+
callback.success(JSONConstructor.generateDocumentReaderGraphicField(result, getContext()).toString());
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
private void getGraphicFieldImageByType(Callback callback, String raw, int fieldType) {
|
|
912
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
913
|
+
callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType)));
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
private void getGraphicFieldImageByTypeSource(Callback callback, String raw, int fieldType, int source) {
|
|
917
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
918
|
+
callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType, source)));
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
private void getGraphicFieldImageByTypeSourcePageIndex(Callback callback, String raw, int fieldType, int source, int pageIndex) {
|
|
922
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
923
|
+
callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType, source, pageIndex)));
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
private void getGraphicFieldImageByTypeSourcePageIndexLight(Callback callback, String raw, int fieldType, int source, int pageIndex, int light) {
|
|
927
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
928
|
+
callback.success(Helpers.bitmapToBase64String(results.getGraphicFieldImageByType(fieldType, source, pageIndex, light)));
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
@SuppressLint("WrongConstant")
|
|
932
|
+
private void getContainers(Callback callback, String raw, JSONArray resultType) {
|
|
933
|
+
try {
|
|
934
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
935
|
+
callback.success(results.getContainers(JSONConstructor.intArrayFromJSON(resultType)));
|
|
936
|
+
} catch (JSONException e) {
|
|
937
|
+
e.printStackTrace();
|
|
938
|
+
callback.error(e.toString());
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
private void getEncryptedContainers(Callback callback, String raw) {
|
|
943
|
+
DocumentReaderResults results = DocumentReaderResults.fromRawResults(raw);
|
|
944
|
+
callback.success(results.getEncryptedContainers());
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
private void setCameraSessionIsPaused(Callback callback, @SuppressWarnings("unused") boolean ignored) {
|
|
948
|
+
callback.error("setCameraSessionIsPaused() is an ios-only method");
|
|
949
|
+
}
|
|
950
|
+
|
|
698
951
|
private void getCameraSessionIsPaused(Callback callback) {
|
|
699
952
|
callback.error("getCameraSessionIsPaused() is an ios-only method");
|
|
700
953
|
}
|
|
701
954
|
|
|
702
|
-
private void stopRFIDReaderWithErrorMessage(Callback callback, String message) {
|
|
955
|
+
private void stopRFIDReaderWithErrorMessage(Callback callback, @SuppressWarnings("unused") String message) {
|
|
703
956
|
callback.error("stopRFIDReaderWithErrorMessage() is an ios-only method");
|
|
704
957
|
}
|
|
705
958
|
|
|
@@ -755,6 +1008,10 @@ public class DocumentReader extends CordovaPlugin {
|
|
|
755
1008
|
};
|
|
756
1009
|
}
|
|
757
1010
|
|
|
1011
|
+
private ICheckDatabaseUpdate getCheckDatabaseUpdateCompletion(Callback callback) {
|
|
1012
|
+
return (database) -> callback.success(JSONConstructor.generateDocReaderDocumentsDatabase(database));
|
|
1013
|
+
}
|
|
1014
|
+
|
|
758
1015
|
private ITccParamsCompletion getTCCParamsCompletion(Callback callback) {
|
|
759
1016
|
return (success, error) -> {
|
|
760
1017
|
if (success)
|
package/src/android/Helpers.java
CHANGED
|
@@ -31,13 +31,12 @@ class Helpers {
|
|
|
31
31
|
return result;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
static BitmapDrawable drawableFromBase64(String base64, Context context)
|
|
35
|
-
{
|
|
34
|
+
static BitmapDrawable drawableFromBase64(String base64, Context context) {
|
|
36
35
|
byte[] decodedByte = Base64.decode(base64, 0);
|
|
37
|
-
Bitmap bitmap =
|
|
36
|
+
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
|
|
38
37
|
float density = context.getResources().getDisplayMetrics().density;
|
|
39
|
-
int width = (int)(bitmap.getWidth()*density);
|
|
40
|
-
int height = (int)(bitmap.getHeight()*density);
|
|
38
|
+
int width = (int) (bitmap.getWidth() * density);
|
|
39
|
+
int height = (int) (bitmap.getHeight() * density);
|
|
41
40
|
return new BitmapDrawable(context.getResources(), Bitmap.createScaledBitmap(bitmap, width, height, false));
|
|
42
41
|
}
|
|
43
42
|
|
|
@@ -64,6 +63,8 @@ class Helpers {
|
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
static String bitmapToBase64String(Bitmap bitmap) {
|
|
66
|
+
if(bitmap == null) return null;
|
|
67
|
+
|
|
67
68
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
|
68
69
|
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
|
|
69
70
|
byte[] byteArray = byteArrayOutputStream.toByteArray();
|