@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.
@@ -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.4.10181'){
17
+ implementation ('com.regula.documentreader:api:7.5.11319'){
20
18
  transitive = true
21
19
  }
22
20
  }
@@ -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;
@@ -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
- result[@"sessionLogFolder"] = processParams.sessionLogFolder;
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;