@regulaforensics/cordova-plugin-document-reader-api 7.4.620 → 7.5.78-rc
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/.gitlab/report.yaml +75 -0
- package/.gitlab-ci.yml +49 -0
- package/README.md +1 -1
- package/example/config.xml +14 -12
- package/example/package.json +4 -4
- package/example/www/js/index.js +5 -0
- package/package.json +4 -8
- package/plugin.xml +7 -5
- package/src/android/BluetoothUtil.kt +105 -59
- package/src/android/Config.kt +63 -5
- package/src/android/DocumentReader.kt +66 -47
- package/src/android/JSONConstructor.kt +39 -14
- package/src/android/Utils.kt +7 -2
- package/src/android/build.gradle +2 -4
- package/src/ios/RGLWConfig.h +2 -0
- package/src/ios/RGLWConfig.m +103 -50
- package/src/ios/RGLWDocumentReader.h +4 -1
- package/src/ios/RGLWDocumentReader.m +71 -21
- package/src/ios/RGLWJSONConstructor.h +8 -0
- package/src/ios/RGLWJSONConstructor.m +77 -9
- package/www/DocumentReader.js +82 -6
- package/.github/ISSUE_TEMPLATE/config.yml +0 -5
package/src/android/build.gradle
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
apply plugin: 'kotlin-android'
|
|
2
|
-
|
|
3
1
|
android {
|
|
4
2
|
compileSdk 34
|
|
5
3
|
|
|
@@ -10,13 +8,13 @@ android {
|
|
|
10
8
|
|
|
11
9
|
repositories {
|
|
12
10
|
maven {
|
|
13
|
-
url "https://maven.regulaforensics.com/RegulaDocumentReader"
|
|
11
|
+
url "https://maven.regulaforensics.com/RegulaDocumentReader/Stage"
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
dependencies {
|
|
18
16
|
//noinspection GradleDependency
|
|
19
|
-
implementation ('com.regula.documentreader:api:7.
|
|
17
|
+
implementation ('com.regula.documentreader:api:7.5.11319'){
|
|
20
18
|
transitive = true
|
|
21
19
|
}
|
|
22
20
|
}
|
package/src/ios/RGLWConfig.h
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
+(void)setCustomization:(NSDictionary*)options :(RGLCustomization*)customization;
|
|
24
24
|
+(void)setRfidScenario:(NSDictionary*)options :(RGLRFIDScenario*)rfidScenario;
|
|
25
25
|
+(void)setDataGroups:(RGLDataGroup*)dataGroup dict:(NSDictionary*)dict;
|
|
26
|
+
+(void)setDTCDataGroup:(RGLDTCDataGroup*)dataGroup dict:(NSDictionary*)dict;
|
|
26
27
|
+(void)setImageQA:(RGLImageQA*)result input:(NSDictionary*)input;
|
|
27
28
|
+(void)setAuthenticityParams:(RGLAuthenticityParams*)result input:(NSDictionary*)input;
|
|
28
29
|
+(void)setLivenessParams:(RGLLivenessParams*)result input:(NSDictionary*)input;
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
+(NSDictionary*)getCustomization:(RGLCustomization*)customization;
|
|
33
34
|
+(NSDictionary*)getRfidScenario:(RGLRFIDScenario*)rfidScenario;
|
|
34
35
|
+(NSDictionary*)getDataGroups:(RGLDataGroup*)dataGroup;
|
|
36
|
+
+(NSDictionary*)getDTCDataGroup:(RGLDTCDataGroup*)dataGroup;
|
|
35
37
|
+(NSDictionary*)getImageQA:(RGLImageQA*)input;
|
|
36
38
|
+(NSDictionary*)getAuthenticityParams:(RGLAuthenticityParams*)input;
|
|
37
39
|
+(NSDictionary*)getLivenessParams:(RGLLivenessParams*)input;
|
package/src/ios/RGLWConfig.m
CHANGED
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
functionality.manualMultipageMode = [[options valueForKey:@"manualMultipageMode"] boolValue];
|
|
42
42
|
if([options valueForKey:@"singleResult"] != nil)
|
|
43
43
|
functionality.singleResult = [[options valueForKey:@"singleResult"] boolValue];
|
|
44
|
+
if(options[@"torchTurnedOn"]) functionality.torchTurnedOn = [options[@"torchTurnedOn"] boolValue];
|
|
44
45
|
|
|
45
46
|
// Int
|
|
46
47
|
if([options valueForKey:@"showCaptureButtonDelayFromDetect"] != nil)
|
|
@@ -68,10 +69,6 @@
|
|
|
68
69
|
if([options valueForKey:@"zoomFactor"] != nil)
|
|
69
70
|
functionality.zoomFactor = [[options valueForKey:@"zoomFactor"] floatValue];
|
|
70
71
|
|
|
71
|
-
// JSONObject
|
|
72
|
-
if([options valueForKey:@"onlineProcessingConfiguration"] != nil)
|
|
73
|
-
functionality.onlineProcessingConfig = [RGLWJSONConstructor onlineProcessingConfigFromJson:[options valueForKey:@"onlineProcessingConfiguration"]];
|
|
74
|
-
|
|
75
72
|
// Custom
|
|
76
73
|
// in android - cameraSize
|
|
77
74
|
if([options valueForKey:@"videoSessionPreset"] != nil)
|
|
@@ -98,6 +95,7 @@
|
|
|
98
95
|
result[@"recordScanningProcess"] = [NSNumber numberWithBool:functionality.recordScanningProcess];
|
|
99
96
|
result[@"manualMultipageMode"] = [NSNumber numberWithBool:functionality.manualMultipageMode];
|
|
100
97
|
result[@"singleResult"] = [NSNumber numberWithBool:functionality.singleResult];
|
|
98
|
+
result[@"torchTurnedOn"] = @(functionality.torchTurnedOn);
|
|
101
99
|
|
|
102
100
|
// Int
|
|
103
101
|
result[@"showCaptureButtonDelayFromDetect"] = [NSNumber numberWithDouble:functionality.showCaptureButtonDelayFromDetect];
|
|
@@ -116,9 +114,6 @@
|
|
|
116
114
|
// Float
|
|
117
115
|
result[@"zoomFactor"] = [NSNumber numberWithFloat:functionality.zoomFactor];
|
|
118
116
|
|
|
119
|
-
// JSONObject
|
|
120
|
-
result[@"onlineProcessingConfiguration"] = [RGLWJSONConstructor generateOnlineProcessingConfig:functionality.onlineProcessingConfig];
|
|
121
|
-
|
|
122
117
|
// Custom
|
|
123
118
|
// in android - cameraSize
|
|
124
119
|
result[@"videoSessionPreset"] = [self generateCaptureSessionPreset:functionality.videoSessionPreset];
|
|
@@ -180,6 +175,7 @@
|
|
|
180
175
|
processParams.disablePerforationOCR = [options valueForKey:@"disablePerforationOCR"];
|
|
181
176
|
if([options valueForKey:@"respectImageQuality"] != nil)
|
|
182
177
|
processParams.respectImageQuality = [options valueForKey:@"respectImageQuality"];
|
|
178
|
+
if (options[@"strictImageQuality"]) processParams.strictImageQuality = options[@"strictImageQuality"];
|
|
183
179
|
if([options valueForKey:@"splitNames"] != nil)
|
|
184
180
|
processParams.splitNames = [options valueForKey:@"splitNames"];
|
|
185
181
|
if([options valueForKey:@"doDetectCan"] != nil)
|
|
@@ -191,6 +187,10 @@
|
|
|
191
187
|
if([options valueForKey:@"checkHologram"] != nil)
|
|
192
188
|
processParams.checkHologram = [options valueForKey:@"checkHologram"];
|
|
193
189
|
if (options[@"generateNumericCodes"]) processParams.generateNumericCodes = options[@"generateNumericCodes"];
|
|
190
|
+
if (options[@"strictBarcodeDigitalSignatureCheck"]) processParams.strictBarcodeDigitalSignatureCheck = options[@"strictBarcodeDigitalSignatureCheck"];
|
|
191
|
+
if (options[@"selectLongestNames"]) processParams.selectLongestNames = options[@"selectLongestNames"];
|
|
192
|
+
if (options[@"generateDTCVC"]) processParams.generateDTCVC = options[@"generateDTCVC"];
|
|
193
|
+
if (options[@"strictDLCategoryExpiry"]) processParams.strictDLCategoryExpiry = options[@"strictDLCategoryExpiry"];
|
|
194
194
|
|
|
195
195
|
// Int
|
|
196
196
|
if([options valueForKey:@"measureSystem"] != nil)
|
|
@@ -308,13 +308,18 @@
|
|
|
308
308
|
result[@"shouldReturnPackageForReprocess"] = processParams.shouldReturnPackageForReprocess;
|
|
309
309
|
result[@"disablePerforationOCR"] = processParams.disablePerforationOCR;
|
|
310
310
|
result[@"respectImageQuality"] = processParams.respectImageQuality;
|
|
311
|
+
result[@"strictImageQuality"] = processParams.strictImageQuality;
|
|
311
312
|
result[@"splitNames"] = processParams.splitNames;
|
|
312
313
|
result[@"doDetectCan"] = processParams.doDetectCan;
|
|
313
314
|
result[@"useFaceApi"] = processParams.useFaceApi;
|
|
314
315
|
result[@"useAuthenticityCheck"] = processParams.useAuthenticityCheck;
|
|
315
316
|
result[@"checkHologram"] = processParams.checkHologram;
|
|
316
317
|
result[@"generateNumericCodes"] = processParams.generateNumericCodes;
|
|
317
|
-
|
|
318
|
+
result[@"strictBarcodeDigitalSignatureCheck"] = processParams.strictBarcodeDigitalSignatureCheck;
|
|
319
|
+
result[@"selectLongestNames"] = processParams.selectLongestNames;
|
|
320
|
+
result[@"generateDTCVC"] = processParams.generateDTCVC;
|
|
321
|
+
result[@"strictDLCategoryExpiry"] = processParams.strictDLCategoryExpiry;
|
|
322
|
+
|
|
318
323
|
// Int
|
|
319
324
|
result[@"measureSystem"] = [NSNumber numberWithInteger:processParams.measureSystem];
|
|
320
325
|
result[@"barcodeParserType"] = processParams.barcodeParserType;
|
|
@@ -331,20 +336,19 @@
|
|
|
331
336
|
result[@"convertCase"] = [self generateWithTextProcessing:processParams.convertCase];
|
|
332
337
|
result[@"logLevel"] = processParams.logLevel;
|
|
333
338
|
result[@"mrzDetectMode"] = processParams.mrzDetectMode;
|
|
334
|
-
|
|
339
|
+
|
|
335
340
|
// String
|
|
336
341
|
result[@"dateFormat"] = processParams.dateFormat;
|
|
337
342
|
result[@"scenario"] = processParams.scenario;
|
|
338
343
|
result[@"captureButtonScenario"] = processParams.captureButtonScenario;
|
|
339
|
-
|
|
340
|
-
|
|
344
|
+
|
|
341
345
|
// Double
|
|
342
346
|
result[@"timeout"] = processParams.timeout;
|
|
343
347
|
result[@"timeoutFromFirstDetect"] = processParams.timeoutFromFirstDetect;
|
|
344
348
|
result[@"timeoutFromFirstDocType"] = processParams.timeoutFromFirstDocType;
|
|
345
349
|
result[@"documentAreaMin"] = processParams.documentAreaMin;
|
|
346
350
|
result[@"timeoutLiveness"] = processParams.timeoutLiveness;
|
|
347
|
-
|
|
351
|
+
|
|
348
352
|
// JSONArray
|
|
349
353
|
result[@"documentIDList"] = processParams.documentIDList;
|
|
350
354
|
result[@"barcodeTypes"] = processParams.barcodeTypes;
|
|
@@ -354,17 +358,17 @@
|
|
|
354
358
|
result[@"lcidFilter"] = processParams.lcidFilter;
|
|
355
359
|
result[@"mrzFormatsFilter"] = processParams.mrzFormatsFilter;
|
|
356
360
|
result[@"resultTypeOutput"] = processParams.resultTypeOutput;
|
|
357
|
-
|
|
361
|
+
|
|
358
362
|
// JSONObject
|
|
359
363
|
result[@"imageQA"] = [self getImageQA:processParams.imageQA];
|
|
360
364
|
result[@"rfidParams"] = [RGLWJSONConstructor generateRFIDParams:processParams.rfidParams];
|
|
361
365
|
result[@"faceApiParams"] = [RGLWJSONConstructor generateFaceAPIParams:processParams.faceApiParams];
|
|
362
366
|
result[@"backendProcessingConfig"] = [RGLWJSONConstructor generateBackendProcessingConfig:processParams.backendProcessingConfig];
|
|
363
367
|
result[@"authenticityParams"] = [self getAuthenticityParams:processParams.authenticityParams];
|
|
364
|
-
|
|
368
|
+
|
|
365
369
|
// Custom
|
|
366
370
|
result[@"customParams"] = processParams.customParams;
|
|
367
|
-
|
|
371
|
+
|
|
368
372
|
return result;
|
|
369
373
|
}
|
|
370
374
|
|
|
@@ -380,7 +384,7 @@
|
|
|
380
384
|
customization.showNextPageAnimation = [[options valueForKey:@"showNextPageAnimation"] boolValue];
|
|
381
385
|
if([options valueForKey:@"showBackgroundMask"] != nil)
|
|
382
386
|
customization.showBackgroundMask = [[options valueForKey:@"showBackgroundMask"] boolValue];
|
|
383
|
-
|
|
387
|
+
|
|
384
388
|
// Int
|
|
385
389
|
if([options valueForKey:@"cameraFrameBorderWidth"] != nil)
|
|
386
390
|
customization.cameraFrameBorderWidth = [[options valueForKey:@"cameraFrameBorderWidth"] floatValue];
|
|
@@ -390,13 +394,15 @@
|
|
|
390
394
|
customization.cameraFrameShapeType = [[options valueForKey:@"cameraFrameShapeType"] integerValue];
|
|
391
395
|
if([options valueForKey:@"cameraFrameOffsetWidth"] != nil)
|
|
392
396
|
customization.cameraFrameOffsetWidth = [[options valueForKey:@"cameraFrameOffsetWidth"] floatValue];
|
|
393
|
-
|
|
397
|
+
if(options[@"nextPageAnimationStartDelay"]) customization.nextPageAnimationStartDelay = [options[@"nextPageAnimationStartDelay"] floatValue];
|
|
398
|
+
if(options[@"nextPageAnimationEndDelay"]) customization.nextPageAnimationEndDelay = [options[@"nextPageAnimationEndDelay"] floatValue];
|
|
399
|
+
|
|
394
400
|
// String
|
|
395
401
|
if([options valueForKey:@"status"] != nil)
|
|
396
402
|
customization.status = [options valueForKey:@"status"];
|
|
397
403
|
if([options valueForKey:@"resultStatus"] != nil)
|
|
398
404
|
customization.resultStatus = [options valueForKey:@"resultStatus"];
|
|
399
|
-
|
|
405
|
+
|
|
400
406
|
// Color
|
|
401
407
|
if([options valueForKey:@"cameraFrameDefaultColor"] != nil)
|
|
402
408
|
customization.cameraFrameDefaultColor = [self colorWithInt:[options valueForKey:@"cameraFrameDefaultColor"]];
|
|
@@ -418,7 +424,9 @@
|
|
|
418
424
|
customization.statusBackgroundColor = [self colorWithInt:[options valueForKey:@"statusBackgroundColor"]];
|
|
419
425
|
if([options valueForKey:@"cameraPreviewBackgroundColor"] != nil)
|
|
420
426
|
customization.cameraPreviewBackgroundColor = [self colorWithInt:[options valueForKey:@"cameraPreviewBackgroundColor"]];
|
|
421
|
-
|
|
427
|
+
if([options valueForKey:@"backgroundMaskColor"] != nil)
|
|
428
|
+
customization.backgroundMaskColor = [self colorWithInt:[options valueForKey:@"backgroundMaskColor"]];
|
|
429
|
+
|
|
422
430
|
// Float
|
|
423
431
|
if([options valueForKey:@"statusPositionMultiplier"] != nil)
|
|
424
432
|
customization.statusPositionMultiplier = [[options valueForKey:@"statusPositionMultiplier"] floatValue];
|
|
@@ -440,7 +448,7 @@
|
|
|
440
448
|
customization.cameraFrameCornerRadius = [[options valueForKey:@"cameraFrameCornerRadius"] floatValue];
|
|
441
449
|
if([options valueForKey:@"livenessAnimationPositionMultiplier"] != nil)
|
|
442
450
|
customization.livenessAnimationPositionMultiplier = [[options valueForKey:@"livenessAnimationPositionMultiplier"] floatValue];
|
|
443
|
-
|
|
451
|
+
|
|
444
452
|
// Drawable
|
|
445
453
|
if([options valueForKey:@"multipageAnimationFrontImage"] != nil)
|
|
446
454
|
customization.multipageAnimationFrontImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"multipageAnimationFrontImage"]];
|
|
@@ -466,13 +474,13 @@
|
|
|
466
474
|
customization.torchButtonOffImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"torchButtonOffImage"]];
|
|
467
475
|
if([options valueForKey:@"livenessAnimationImage"] != nil)
|
|
468
476
|
customization.livenessAnimationImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"livenessAnimationImage"]];
|
|
469
|
-
|
|
477
|
+
|
|
470
478
|
// Font
|
|
471
479
|
if([options valueForKey:@"statusTextFont"] != nil)
|
|
472
480
|
customization.statusTextFont = [self UIFontFromJSON:[options valueForKey:@"statusTextFont"]];
|
|
473
481
|
if([options valueForKey:@"resultStatusTextFont"] != nil)
|
|
474
482
|
customization.resultStatusTextFont = [self UIFontFromJSON:[options valueForKey:@"resultStatusTextFont"]];
|
|
475
|
-
|
|
483
|
+
|
|
476
484
|
// Custom
|
|
477
485
|
if([options valueForKey:@"customLabelStatus"] != nil)
|
|
478
486
|
customization.customLabelStatus = [[NSAttributedString alloc]initWithString:[options valueForKey:@"customLabelStatus"]];
|
|
@@ -480,7 +488,7 @@
|
|
|
480
488
|
customization.cameraFrameLineCap = [self lineCapWithNumber:[options valueForKey:@"cameraFrameLineCap"]];
|
|
481
489
|
if([options valueForKey:@"uiCustomizationLayer"] != nil)
|
|
482
490
|
customization.customUILayerJSON = [options valueForKey:@"uiCustomizationLayer"];
|
|
483
|
-
|
|
491
|
+
|
|
484
492
|
// ContentMode
|
|
485
493
|
if([options valueForKey:@"helpAnimationImageContentMode"] != nil)
|
|
486
494
|
customization.helpAnimationImageContentMode = [self viewContentModeWithNumber:[options valueForKey:@"helpAnimationImageContentMode"]];
|
|
@@ -503,24 +511,26 @@
|
|
|
503
511
|
|
|
504
512
|
+(NSDictionary*)getCustomization:(RGLCustomization*)customization {
|
|
505
513
|
NSMutableDictionary *result = [NSMutableDictionary new];
|
|
506
|
-
|
|
514
|
+
|
|
507
515
|
// Boolean
|
|
508
516
|
result[@"showStatusMessages"] = [NSNumber numberWithBool:customization.showStatusMessages];
|
|
509
517
|
result[@"showResultStatusMessages"] = [NSNumber numberWithBool:customization.showResultStatusMessages];
|
|
510
518
|
result[@"showHelpAnimation"] = [NSNumber numberWithBool:customization.showHelpAnimation];
|
|
511
519
|
result[@"showNextPageAnimation"] = [NSNumber numberWithBool:customization.showNextPageAnimation];
|
|
512
520
|
result[@"showBackgroundMask"] = [NSNumber numberWithBool:customization.showBackgroundMask];
|
|
513
|
-
|
|
521
|
+
|
|
514
522
|
// Int
|
|
515
523
|
result[@"cameraFrameBorderWidth"] = [NSNumber numberWithFloat:customization.cameraFrameBorderWidth];
|
|
516
524
|
result[@"cameraFrameLineLength"] = [NSNumber numberWithFloat:customization.cameraFrameLineLength];
|
|
517
525
|
result[@"cameraFrameShapeType"] = [NSNumber numberWithFloat:customization.cameraFrameShapeType];
|
|
518
526
|
result[@"cameraFrameOffsetWidth"] = [NSNumber numberWithFloat:customization.cameraFrameOffsetWidth];
|
|
519
|
-
|
|
527
|
+
result[@"nextPageAnimationStartDelay"] = [NSNumber numberWithFloat:customization.nextPageAnimationStartDelay];
|
|
528
|
+
result[@"nextPageAnimationEndDelay"] = [NSNumber numberWithFloat:customization.nextPageAnimationEndDelay];
|
|
529
|
+
|
|
520
530
|
// String
|
|
521
531
|
result[@"status"] = customization.status;
|
|
522
532
|
result[@"resultStatus"] = customization.resultStatus;
|
|
523
|
-
|
|
533
|
+
|
|
524
534
|
// Color
|
|
525
535
|
result[@"cameraFrameDefaultColor"] = [self intWithColor:customization.cameraFrameDefaultColor];
|
|
526
536
|
result[@"cameraFrameActiveColor"] = [self intWithColor:customization.cameraFrameActiveColor];
|
|
@@ -532,7 +542,8 @@
|
|
|
532
542
|
result[@"activityIndicatorColor"] = [self intWithColor:customization.activityIndicatorColor];
|
|
533
543
|
result[@"statusBackgroundColor"] = [self intWithColor:customization.statusBackgroundColor];
|
|
534
544
|
result[@"cameraPreviewBackgroundColor"] = [self intWithColor:customization.cameraPreviewBackgroundColor];
|
|
535
|
-
|
|
545
|
+
result[@"backgroundMaskColor"] = [self intWithColor:customization.backgroundMaskColor];
|
|
546
|
+
|
|
536
547
|
// Float
|
|
537
548
|
result[@"statusPositionMultiplier"] = [NSNumber numberWithFloat:customization.statusPositionMultiplier];
|
|
538
549
|
result[@"resultStatusPositionMultiplier"] = [NSNumber numberWithFloat:customization.resultStatusPositionMultiplier];
|
|
@@ -544,7 +555,7 @@
|
|
|
544
555
|
result[@"cameraFramePortraitAspectRatio"] = [NSNumber numberWithFloat:customization.cameraFramePortraitAspectRatio];
|
|
545
556
|
result[@"cameraFrameCornerRadius"] = [NSNumber numberWithFloat:customization.cameraFrameCornerRadius];
|
|
546
557
|
result[@"livenessAnimationPositionMultiplier"] = [NSNumber numberWithFloat:customization.livenessAnimationPositionMultiplier];
|
|
547
|
-
|
|
558
|
+
|
|
548
559
|
// Drawable
|
|
549
560
|
result[@"multipageAnimationFrontImage"] = [RGLWJSONConstructor base64WithImage:customization.multipageAnimationFrontImage];
|
|
550
561
|
result[@"multipageAnimationBackImage"] = [RGLWJSONConstructor base64WithImage:customization.multipageAnimationBackImage];
|
|
@@ -558,27 +569,27 @@
|
|
|
558
569
|
result[@"torchButtonOnImage"] = [RGLWJSONConstructor base64WithImage:customization.torchButtonOnImage];
|
|
559
570
|
result[@"torchButtonOffImage"] = [RGLWJSONConstructor base64WithImage:customization.torchButtonOffImage];
|
|
560
571
|
result[@"livenessAnimationImage"] = [RGLWJSONConstructor base64WithImage:customization.livenessAnimationImage];
|
|
561
|
-
|
|
572
|
+
|
|
562
573
|
// Font
|
|
563
574
|
result[@"statusTextFont"] = [self generateUIFont:customization.statusTextFont];
|
|
564
575
|
result[@"resultStatusTextFont"] = [self generateUIFont:customization.resultStatusTextFont];
|
|
565
|
-
|
|
576
|
+
|
|
566
577
|
// Custom
|
|
567
578
|
if(customization.customLabelStatus != nil) result[@"customLabelStatus"] = customization.customLabelStatus.string;
|
|
568
579
|
result[@"cameraFrameLineCap"] = [self generateLineCap:customization.cameraFrameLineCap];
|
|
569
580
|
result[@"uiCustomizationLayer"] = customization.customUILayerJSON;
|
|
570
|
-
|
|
581
|
+
|
|
571
582
|
// ContentMode
|
|
572
583
|
result[@"helpAnimationImageContentMode"] = [self generateViewContentMode:customization.helpAnimationImageContentMode];
|
|
573
584
|
result[@"multipageAnimationFrontImageContentMode"] = [self generateViewContentMode:customization.multipageAnimationFrontImageContentMode];
|
|
574
585
|
result[@"multipageAnimationBackImageContentMode"] = [self generateViewContentMode:customization.multipageAnimationBackImageContentMode];
|
|
575
586
|
result[@"livenessAnimationImageContentMode"] = [self generateViewContentMode:customization.livenessAnimationImageContentMode];
|
|
576
587
|
result[@"borderBackgroundImageContentMode"] = [self generateViewContentMode:customization.borderBackgroundImageContentMode];
|
|
577
|
-
|
|
588
|
+
|
|
578
589
|
result[@"colors"] = [self getColors: [customization.uiConfiguration valueForKey:@"colors"]];
|
|
579
590
|
result[@"fonts"] = [self getFonts: [customization.uiConfiguration valueForKey:@"fonts"]];
|
|
580
591
|
result[@"images"] = [self getImages: [customization.uiConfiguration valueForKey:@"images"]];
|
|
581
|
-
|
|
592
|
+
|
|
582
593
|
return result;
|
|
583
594
|
}
|
|
584
595
|
|
|
@@ -652,7 +663,11 @@
|
|
|
652
663
|
rfidScenario.autoSettings = [[options valueForKey:@"autoSettings"] boolValue];
|
|
653
664
|
if([options valueForKey:@"proceedReadingAlways"] != nil)
|
|
654
665
|
rfidScenario.proceedReadingAlways = [[options valueForKey:@"proceedReadingAlways"] boolValue];
|
|
655
|
-
|
|
666
|
+
if(options[@"readDTC"]) rfidScenario.readDTC = [options[@"readDTC"] boolValue];
|
|
667
|
+
if(options[@"mrzStrictCheck"]) rfidScenario.mrzStrictCheck = options[@"mrzStrictCheck"];
|
|
668
|
+
if(options[@"loadCRLFromRemote"]) rfidScenario.loadCRLFromRemote = [options[@"loadCRLFromRemote"] boolValue];
|
|
669
|
+
if(options[@"independentSODStatus"]) rfidScenario.independentSODStatus = options[@"independentSODStatus"];
|
|
670
|
+
|
|
656
671
|
// Int
|
|
657
672
|
if([options valueForKey:@"signManagementAction"] != nil)
|
|
658
673
|
rfidScenario.signManagementAction = [[options valueForKey:@"signManagementAction"] integerValue];
|
|
@@ -672,7 +687,7 @@
|
|
|
672
687
|
rfidScenario.terminalType = [[options valueForKey:@"terminalType"] integerValue];
|
|
673
688
|
if([options valueForKey:@"defaultReadingBufferSize"] != nil)
|
|
674
689
|
rfidScenario.defaultReadingBufferSize = [[options valueForKey:@"defaultReadingBufferSize"] intValue];
|
|
675
|
-
|
|
690
|
+
|
|
676
691
|
// String
|
|
677
692
|
if([options valueForKey:@"password"] != nil)
|
|
678
693
|
rfidScenario.password = [options valueForKey:@"password"];
|
|
@@ -686,7 +701,8 @@
|
|
|
686
701
|
rfidScenario.eSignPINDefault = [options valueForKey:@"eSignPINDefault"];
|
|
687
702
|
if([options valueForKey:@"eSignPINNewValue"] != nil)
|
|
688
703
|
rfidScenario.eSignPINNewValue = [options valueForKey:@"eSignPINNewValue"];
|
|
689
|
-
|
|
704
|
+
if(options[@"cardAccess"]) rfidScenario.cardAccess = options[@"cardAccess"];
|
|
705
|
+
|
|
690
706
|
// DataGroup
|
|
691
707
|
if([options valueForKey:@"ePassportDataGroups"] != nil)
|
|
692
708
|
[self setDataGroups :rfidScenario.ePassportDataGroups dict:[options valueForKey:@"ePassportDataGroups"]];
|
|
@@ -694,11 +710,12 @@
|
|
|
694
710
|
[self setDataGroups :rfidScenario.eIDDataGroups dict:[options valueForKey:@"eIDDataGroups"]];
|
|
695
711
|
if([options valueForKey:@"eDLDataGroups"] != nil)
|
|
696
712
|
[self setDataGroups :rfidScenario.eDLDataGroups dict:[options valueForKey:@"eDLDataGroups"]];
|
|
713
|
+
if(options[@"dtcDataGroups"]) [self setDTCDataGroup :rfidScenario.DTCDataGroups dict:options[@"dtcDataGroups"]];
|
|
697
714
|
}
|
|
698
715
|
|
|
699
716
|
+(NSDictionary*)getRfidScenario:(RGLRFIDScenario*)rfidScenario {
|
|
700
717
|
NSMutableDictionary *result = [NSMutableDictionary new];
|
|
701
|
-
|
|
718
|
+
|
|
702
719
|
// Boolean
|
|
703
720
|
result[@"paceStaticBinding"] = [NSNumber numberWithBool:rfidScenario.paceStaticBinding];
|
|
704
721
|
result[@"onlineTA"] = [NSNumber numberWithBool:rfidScenario.onlineTA];
|
|
@@ -734,7 +751,11 @@
|
|
|
734
751
|
result[@"applyAmendments"] = [NSNumber numberWithBool:rfidScenario.applyAmendments];
|
|
735
752
|
result[@"autoSettings"] = [NSNumber numberWithBool:rfidScenario.autoSettings];
|
|
736
753
|
result[@"proceedReadingAlways"] = [NSNumber numberWithBool:rfidScenario.proceedReadingAlways];
|
|
737
|
-
|
|
754
|
+
result[@"readDTC"] = [NSNumber numberWithBool:rfidScenario.readDTC];
|
|
755
|
+
result[@"mrzStrictCheck"] = rfidScenario.mrzStrictCheck;
|
|
756
|
+
result[@"loadCRLFromRemote"] = @(rfidScenario.loadCRLFromRemote);
|
|
757
|
+
result[@"independentSODStatus"] = rfidScenario.independentSODStatus;
|
|
758
|
+
|
|
738
759
|
// Int
|
|
739
760
|
result[@"signManagementAction"] = [NSNumber numberWithInteger:rfidScenario.signManagementAction];
|
|
740
761
|
result[@"readingBuffer"] = [NSNumber numberWithInteger:rfidScenario.readingBuffer];
|
|
@@ -745,7 +766,7 @@
|
|
|
745
766
|
result[@"pacePasswordType"] = [NSNumber numberWithInteger:rfidScenario.pacePasswordType];
|
|
746
767
|
result[@"terminalType"] = [NSNumber numberWithInteger:rfidScenario.terminalType];
|
|
747
768
|
result[@"defaultReadingBufferSize"] = [NSNumber numberWithInteger:rfidScenario.defaultReadingBufferSize];
|
|
748
|
-
|
|
769
|
+
|
|
749
770
|
// String
|
|
750
771
|
result[@"password"] = rfidScenario.password;
|
|
751
772
|
result[@"pkdPA"] = rfidScenario.pkdPA;
|
|
@@ -753,17 +774,19 @@
|
|
|
753
774
|
result[@"mrz"] = rfidScenario.mrz;
|
|
754
775
|
result[@"eSignPINDefault"] = rfidScenario.eSignPINDefault;
|
|
755
776
|
result[@"eSignPINNewValue"] = rfidScenario.eSignPINNewValue;
|
|
756
|
-
|
|
777
|
+
result[@"cardAccess"] = rfidScenario.cardAccess;
|
|
778
|
+
|
|
757
779
|
// DataGroup
|
|
758
780
|
result[@"eDLDataGroups"] = [self getDataGroups:rfidScenario.eDLDataGroups];
|
|
759
781
|
result[@"ePassportDataGroups"] = [self getDataGroups:rfidScenario.ePassportDataGroups];
|
|
760
782
|
result[@"eIDDataGroups"] = [self getDataGroups:rfidScenario.eIDDataGroups];
|
|
761
|
-
|
|
783
|
+
result[@"dtcDataGroups"] = [self getDTCDataGroup:rfidScenario.DTCDataGroups];
|
|
784
|
+
|
|
762
785
|
return result;
|
|
763
786
|
}
|
|
764
787
|
|
|
765
788
|
+(void)setDataGroups:(RGLDataGroup*)dataGroup dict:(NSDictionary*)dict {
|
|
766
|
-
|
|
789
|
+
|
|
767
790
|
// EDLDataGroups/Common: 1-14
|
|
768
791
|
if([dict valueForKey:@"DG1"] != nil)
|
|
769
792
|
dataGroup.dG1 = [[dict valueForKey:@"DG1"] boolValue];
|
|
@@ -793,7 +816,7 @@
|
|
|
793
816
|
dataGroup.dG13 = [[dict valueForKey:@"DG13"] boolValue];
|
|
794
817
|
if([dict valueForKey:@"DG14"] != nil)
|
|
795
818
|
dataGroup.dG14 = [[dict valueForKey:@"DG14"] boolValue];
|
|
796
|
-
|
|
819
|
+
|
|
797
820
|
// EPassportDataGroups: 1-16
|
|
798
821
|
if ([dataGroup class] == [RGLePassportDataGroup class]) {
|
|
799
822
|
if([dict valueForKey:@"DG15"] != nil)
|
|
@@ -801,7 +824,7 @@
|
|
|
801
824
|
if([dict valueForKey:@"DG16"] != nil)
|
|
802
825
|
((RGLePassportDataGroup*)dataGroup).dG16 = [[dict valueForKey:@"DG16"] boolValue];
|
|
803
826
|
}
|
|
804
|
-
|
|
827
|
+
|
|
805
828
|
// EIDDataGroups: 1-21
|
|
806
829
|
if ([dataGroup class] == [RGLeIDDataGroup class]) {
|
|
807
830
|
if([dict valueForKey:@"DG15"] != nil)
|
|
@@ -823,7 +846,7 @@
|
|
|
823
846
|
|
|
824
847
|
+(NSDictionary *)getDataGroups:(RGLDataGroup*)dataGroup {
|
|
825
848
|
NSMutableDictionary *result = [NSMutableDictionary new];
|
|
826
|
-
|
|
849
|
+
|
|
827
850
|
// EDLDataGroups/Common: 1-14
|
|
828
851
|
result[@"DG1"] = [NSNumber numberWithBool:dataGroup.dG1];
|
|
829
852
|
result[@"DG2"] = [NSNumber numberWithBool:dataGroup.dG2];
|
|
@@ -839,13 +862,13 @@
|
|
|
839
862
|
result[@"DG12"] = [NSNumber numberWithBool:dataGroup.dG12];
|
|
840
863
|
result[@"DG13"] = [NSNumber numberWithBool:dataGroup.dG13];
|
|
841
864
|
result[@"DG14"] = [NSNumber numberWithBool:dataGroup.dG14];
|
|
842
|
-
|
|
865
|
+
|
|
843
866
|
// EPassportDataGroups: 1-16
|
|
844
867
|
if ([dataGroup class] == [RGLePassportDataGroup class]) {
|
|
845
868
|
result[@"DG15"] = [NSNumber numberWithBool:((RGLePassportDataGroup*)dataGroup).dG15];
|
|
846
869
|
result[@"DG16"] = [NSNumber numberWithBool:((RGLePassportDataGroup*)dataGroup).dG16];
|
|
847
870
|
}
|
|
848
|
-
|
|
871
|
+
|
|
849
872
|
// EIDDataGroups: 1-21
|
|
850
873
|
if ([dataGroup class] == [RGLeIDDataGroup class]) {
|
|
851
874
|
result[@"DG15"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG15];
|
|
@@ -856,7 +879,27 @@
|
|
|
856
879
|
result[@"DG20"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG20];
|
|
857
880
|
result[@"DG21"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG21];
|
|
858
881
|
}
|
|
859
|
-
|
|
882
|
+
|
|
883
|
+
return result;
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
+(void)setDTCDataGroup:(RGLDTCDataGroup*)dataGroup dict:(NSDictionary*)dict {
|
|
887
|
+
if(dict[@"DG17"]) dataGroup.dG17 = [dict[@"DG17"] boolValue];
|
|
888
|
+
if(dict[@"DG18"]) dataGroup.dG18 = [dict[@"DG18"] boolValue];
|
|
889
|
+
if(dict[@"DG22"]) dataGroup.dG22 = [dict[@"DG22"] boolValue];
|
|
890
|
+
if(dict[@"DG23"]) dataGroup.dG23 = [dict[@"DG23"] boolValue];
|
|
891
|
+
if(dict[@"DG24"]) dataGroup.dG24 = [dict[@"DG24"] boolValue];
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
+(NSDictionary *)getDTCDataGroup:(RGLDTCDataGroup*)dataGroup {
|
|
895
|
+
NSMutableDictionary *result = [NSMutableDictionary new];
|
|
896
|
+
|
|
897
|
+
result[@"DG17"] = @(dataGroup.dG17);
|
|
898
|
+
result[@"DG18"] = @(dataGroup.dG18);
|
|
899
|
+
result[@"DG22"] = @(dataGroup.dG22);
|
|
900
|
+
result[@"DG23"] = @(dataGroup.dG23);
|
|
901
|
+
result[@"DG24"] = @(dataGroup.dG24);
|
|
902
|
+
|
|
860
903
|
return result;
|
|
861
904
|
}
|
|
862
905
|
|
|
@@ -884,11 +927,12 @@
|
|
|
884
927
|
result.glaresCheckParams = [RGLWJSONConstructor glaresCheckParamsFromJson:[input valueForKey:@"glaresCheckParams"]];
|
|
885
928
|
if([input valueForKey:@"brightnessThreshold"] != nil)
|
|
886
929
|
result.brightnessThreshold = [input valueForKey:@"brightnessThreshold"];
|
|
930
|
+
if(input[@"occlusionCheck"]) result.occlusionCheck = input[@"occlusionCheck"];
|
|
887
931
|
}
|
|
888
932
|
|
|
889
933
|
+(NSDictionary*)getImageQA:(RGLImageQA*)input {
|
|
890
934
|
NSMutableDictionary *result = [NSMutableDictionary new];
|
|
891
|
-
|
|
935
|
+
|
|
892
936
|
result[@"dpiThreshold"] = input.dpiThreshold;
|
|
893
937
|
result[@"angleThreshold"] = input.angleThreshold;
|
|
894
938
|
result[@"focusCheck"] = input.focusCheck;
|
|
@@ -903,6 +947,7 @@
|
|
|
903
947
|
result[@"documentPositionIndent"] = input.documentPositionIndent;
|
|
904
948
|
result[@"glaresCheckParams"] = [RGLWJSONConstructor generateGlaresCheckParams:input.glaresCheckParams];
|
|
905
949
|
result[@"brightnessThreshold"] = input.brightnessThreshold;
|
|
950
|
+
result[@"occlusionCheck"] = input.occlusionCheck;
|
|
906
951
|
|
|
907
952
|
return result;
|
|
908
953
|
}
|
|
@@ -940,6 +985,7 @@
|
|
|
940
985
|
result.checkPhotoComparison = [input valueForKey:@"checkPhotoComparison"];
|
|
941
986
|
if([input valueForKey:@"checkLetterScreen"] != nil)
|
|
942
987
|
result.checkLetterScreen = [input valueForKey:@"checkLetterScreen"];
|
|
988
|
+
if(input[@"checkSecurityText"]) result.checkSecurityText = input[@"checkSecurityText"];
|
|
943
989
|
}
|
|
944
990
|
|
|
945
991
|
+(NSDictionary*)getAuthenticityParams:(RGLAuthenticityParams*)input {
|
|
@@ -961,6 +1007,7 @@
|
|
|
961
1007
|
result[@"checkPhotoEmbedding"] = input.checkPhotoEmbedding;
|
|
962
1008
|
result[@"checkPhotoComparison"] = input.checkPhotoComparison;
|
|
963
1009
|
result[@"checkLetterScreen"] = input.checkLetterScreen;
|
|
1010
|
+
result[@"checkSecurityText"] = input.checkSecurityText;
|
|
964
1011
|
|
|
965
1012
|
return result;
|
|
966
1013
|
}
|
|
@@ -974,6 +1021,8 @@
|
|
|
974
1021
|
result.checkHolo = [input valueForKey:@"checkHolo"];
|
|
975
1022
|
if([input valueForKey:@"checkED"] != nil)
|
|
976
1023
|
result.checkED = [input valueForKey:@"checkED"];
|
|
1024
|
+
if(input[@"checkBlackAndWhiteCopy"]) result.checkBlackAndWhiteCopy = input[@"checkBlackAndWhiteCopy"];
|
|
1025
|
+
if(input[@"checkDynaprint"]) result.checkDynaprint = input[@"checkDynaprint"];
|
|
977
1026
|
}
|
|
978
1027
|
|
|
979
1028
|
+(NSDictionary*)getLivenessParams:(RGLLivenessParams*)input {
|
|
@@ -984,6 +1033,8 @@
|
|
|
984
1033
|
result[@"checkMLI"] = input.checkMLI;
|
|
985
1034
|
result[@"checkHolo"] = input.checkHolo;
|
|
986
1035
|
result[@"checkED"] = input.checkED;
|
|
1036
|
+
result[@"checkBlackAndWhiteCopy"] = input.checkBlackAndWhiteCopy;
|
|
1037
|
+
result[@"checkDynaprint"] = input.checkDynaprint;
|
|
987
1038
|
|
|
988
1039
|
return result;
|
|
989
1040
|
}
|
|
@@ -1302,6 +1353,7 @@
|
|
|
1302
1353
|
if(value == RGLImageQualityCheckTypePortrait) return @7;
|
|
1303
1354
|
if(value == RGLImageQualityCheckTypeHandwritten) return @8;
|
|
1304
1355
|
if(value == RGLImageQualityCheckTypeBrightness) return @9;
|
|
1356
|
+
if(value == RGLImageQualityCheckTypeOcclusion) return @10;
|
|
1305
1357
|
return 0;
|
|
1306
1358
|
}
|
|
1307
1359
|
|
|
@@ -1318,6 +1370,7 @@
|
|
|
1318
1370
|
if(value == 7) return RGLImageQualityCheckTypePortrait;
|
|
1319
1371
|
if(value == 8) return RGLImageQualityCheckTypeHandwritten;
|
|
1320
1372
|
if(value == 9) return RGLImageQualityCheckTypeBrightness;
|
|
1373
|
+
if(value == 10) return RGLImageQualityCheckTypeOcclusion;
|
|
1321
1374
|
return RGLImageQualityCheckTypeImageGlares;
|
|
1322
1375
|
}
|
|
1323
1376
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
#import <Foundation/Foundation.h>
|
|
3
3
|
#import "RGLWJSONConstructor.h"
|
|
4
4
|
#import "RGLWConfig.h"
|
|
5
|
+
#import <CoreBluetooth/CoreBluetooth.h>
|
|
5
6
|
#import <DocumentReader/DocumentReader.h>
|
|
6
7
|
|
|
7
8
|
@class DocReader;
|
|
@@ -13,7 +14,9 @@ typedef void (^RGLWRFIDSignatureCallback)(NSData * _Nonnull signature);
|
|
|
13
14
|
@interface RGLWDocumentReader : CDVPlugin<RGLRecordScanningProcessDelegate,
|
|
14
15
|
RGLDocReaderRFIDDelegate,
|
|
15
16
|
RGLCustomizationActionDelegate,
|
|
16
|
-
RGLDocReaderDatabaseFetchDelegate
|
|
17
|
+
RGLDocReaderDatabaseFetchDelegate,
|
|
18
|
+
RGLBluetoothDelegate,
|
|
19
|
+
CBCentralManagerDelegate>
|
|
17
20
|
|
|
18
21
|
@property (class) CDVInvokedUrlCommand* _Nullable command;
|
|
19
22
|
@property NSNumber* _Nonnull doRequestPACertificates;
|