@regulaforensics/cordova-plugin-document-reader-api 7.6.674-nightly → 8.1.61-nightly

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.
@@ -26,6 +26,7 @@ import com.regula.documentreader.api.enums.PDF417Info
26
26
  import com.regula.documentreader.api.enums.eGraphicFieldType
27
27
  import com.regula.documentreader.api.enums.eRFID_DataFile_Type
28
28
  import com.regula.documentreader.api.enums.eRPRM_Lights
29
+ import com.regula.documentreader.api.listener.NetworkInterceptorListener
29
30
  import com.regula.documentreader.api.params.AuthenticityParams
30
31
  import com.regula.documentreader.api.params.BackendProcessingConfig
31
32
  import com.regula.documentreader.api.params.BleDeviceConfig
@@ -106,6 +107,8 @@ import cordova.plugin.documentreader.Convert.generateByteArray
106
107
  import org.json.JSONArray
107
108
  import org.json.JSONObject
108
109
 
110
+ val weakReferencesHolder = mutableListOf<Any>()
111
+
109
112
  fun generateCompletion(action: Int, results: DocumentReaderResults?, error: RegulaException?, context: Context?) = object : JSONObject() { init {
110
113
  put("action", action)
111
114
  if (listOf(
@@ -175,6 +178,7 @@ fun transactionInfoFromJSON(temp: JSONObject?): TransactionInfo? {
175
178
 
176
179
  if (input.has("transactionId")) result.transactionId = input.getString("transactionId")
177
180
  if (input.has("tag")) result.tag = input.getString("tag")
181
+ if (input.has("sessionLogFolder")) result.sessionLogFolder = input.getString("sessionLogFolder")
178
182
 
179
183
  return result
180
184
  }
@@ -186,6 +190,7 @@ fun generateTransactionInfo(temp: TransactionInfo?): JSONObject? {
186
190
 
187
191
  result.put("transactionId", input.transactionId)
188
192
  result.put("tag", input.tag)
193
+ result.put("sessionLogFolder", input.sessionLogFolder)
189
194
 
190
195
  return result
191
196
  }
@@ -366,6 +371,11 @@ fun onlineProcessingConfigFromJSON(temp: JSONObject?): OnlineProcessingConfig? {
366
371
  if (input.has("url")) builder.setUrl(input.getString("url"))
367
372
  if (input.has("imageCompressionQuality")) builder.setImageCompressionQuality(input.getDouble("imageCompressionQuality").toFloat())
368
373
  if (input.has("processParams")) builder.setProcessParams(processParamFromJSON(input.getJSONObject("processParams")))
374
+ if (input.has("requestHeaders")) {
375
+ val listener = NetworkInterceptorListener { input.getJSONObject("requestHeaders").forEach { k, v -> it.setRequestProperty(k, v as String) } }
376
+ weakReferencesHolder.add(listener)
377
+ builder.setNetworkInterceptorListener(listener)
378
+ }
369
379
 
370
380
  return builder.build()
371
381
  }
@@ -524,13 +534,13 @@ fun eIDDataGroupsFromJSON(input: JSONObject): EIDDataGroups {
524
534
 
525
535
  fun generateEIDDataGroups(input: EIDDataGroups): JSONObject = getDataGroups(input)
526
536
 
527
- fun dtcDataGroupsFromJSON(input: JSONObject): DTCDataGroup {
537
+ fun dtcDataGroupFromJSON(input: JSONObject): DTCDataGroup {
528
538
  val result = DTCDataGroup()
529
- setDataGroups(result, input)
539
+ setDTCDataGroup(result, input)
530
540
  return result
531
541
  }
532
542
 
533
- fun generateDTCDataGroups(input: DTCDataGroup): JSONObject = getDataGroups(input)
543
+ fun generateDTCDataGroup(input: DTCDataGroup): JSONObject = getDTCDataGroup(input)
534
544
 
535
545
  fun rfidScenarioFromJSON(input: JSONObject): RfidScenario {
536
546
  val result = RfidScenario()
@@ -1713,6 +1723,7 @@ fun generateDocumentReaderAuthenticityResult(temp: DocumentReaderAuthenticityRes
1713
1723
  temp ?: return null
1714
1724
  val input: DocumentReaderAuthenticityResult = temp
1715
1725
 
1726
+ @Suppress("DEPRECATION")
1716
1727
  result.put("status", input.status)
1717
1728
  result.put("checks", generateList(input.checks, ::generateDocumentReaderAuthenticityCheck, context))
1718
1729
 
@@ -2181,7 +2192,7 @@ fun documentReaderResultsFromJSON(temp: JSONObject?): DocumentReaderResults? {
2181
2192
  result.status = documentReaderResultsStatusFromJSON(input.optJSONObject("status"))!!
2182
2193
  result.vdsncData = vdsncDataFromJSON(input.optJSONObject("vdsncData")!!)
2183
2194
  result.dtcData = input.getString("dtcData")
2184
- result.transactionInfo = transactionInfoFromJSON(input.optJSONObject("transactionInfo"))
2195
+ result.transactionInfo = transactionInfoFromJSON(input.optJSONObject("transactionInfo"))!!
2185
2196
 
2186
2197
  return result
2187
2198
  }
@@ -14,7 +14,7 @@ repositories {
14
14
 
15
15
  dependencies {
16
16
  //noinspection GradleDependency
17
- implementation ('com.regula.documentreader:api:7.6.10434'){
17
+ implementation ('com.regula.documentreader:api:8.1.11283'){
18
18
  transitive = true
19
19
  }
20
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)
@@ -94,6 +95,7 @@
94
95
  result[@"recordScanningProcess"] = [NSNumber numberWithBool:functionality.recordScanningProcess];
95
96
  result[@"manualMultipageMode"] = [NSNumber numberWithBool:functionality.manualMultipageMode];
96
97
  result[@"singleResult"] = [NSNumber numberWithBool:functionality.singleResult];
98
+ result[@"torchTurnedOn"] = @(functionality.torchTurnedOn);
97
99
 
98
100
  // Int
99
101
  result[@"showCaptureButtonDelayFromDetect"] = [NSNumber numberWithDouble:functionality.showCaptureButtonDelayFromDetect];
@@ -188,6 +190,7 @@
188
190
  if (options[@"strictBarcodeDigitalSignatureCheck"]) processParams.strictBarcodeDigitalSignatureCheck = options[@"strictBarcodeDigitalSignatureCheck"];
189
191
  if (options[@"selectLongestNames"]) processParams.selectLongestNames = options[@"selectLongestNames"];
190
192
  if (options[@"generateDTCVC"]) processParams.generateDTCVC = options[@"generateDTCVC"];
193
+ if (options[@"strictDLCategoryExpiry"]) processParams.strictDLCategoryExpiry = options[@"strictDLCategoryExpiry"];
191
194
 
192
195
  // Int
193
196
  if([options valueForKey:@"measureSystem"] != nil)
@@ -315,7 +318,8 @@
315
318
  result[@"strictBarcodeDigitalSignatureCheck"] = processParams.strictBarcodeDigitalSignatureCheck;
316
319
  result[@"selectLongestNames"] = processParams.selectLongestNames;
317
320
  result[@"generateDTCVC"] = processParams.generateDTCVC;
318
-
321
+ result[@"strictDLCategoryExpiry"] = processParams.strictDLCategoryExpiry;
322
+
319
323
  // Int
320
324
  result[@"measureSystem"] = [NSNumber numberWithInteger:processParams.measureSystem];
321
325
  result[@"barcodeParserType"] = processParams.barcodeParserType;
@@ -332,20 +336,19 @@
332
336
  result[@"convertCase"] = [self generateWithTextProcessing:processParams.convertCase];
333
337
  result[@"logLevel"] = processParams.logLevel;
334
338
  result[@"mrzDetectMode"] = processParams.mrzDetectMode;
335
-
339
+
336
340
  // String
337
341
  result[@"dateFormat"] = processParams.dateFormat;
338
342
  result[@"scenario"] = processParams.scenario;
339
343
  result[@"captureButtonScenario"] = processParams.captureButtonScenario;
340
- result[@"sessionLogFolder"] = processParams.sessionLogFolder;
341
-
344
+
342
345
  // Double
343
346
  result[@"timeout"] = processParams.timeout;
344
347
  result[@"timeoutFromFirstDetect"] = processParams.timeoutFromFirstDetect;
345
348
  result[@"timeoutFromFirstDocType"] = processParams.timeoutFromFirstDocType;
346
349
  result[@"documentAreaMin"] = processParams.documentAreaMin;
347
350
  result[@"timeoutLiveness"] = processParams.timeoutLiveness;
348
-
351
+
349
352
  // JSONArray
350
353
  result[@"documentIDList"] = processParams.documentIDList;
351
354
  result[@"barcodeTypes"] = processParams.barcodeTypes;
@@ -355,17 +358,17 @@
355
358
  result[@"lcidFilter"] = processParams.lcidFilter;
356
359
  result[@"mrzFormatsFilter"] = processParams.mrzFormatsFilter;
357
360
  result[@"resultTypeOutput"] = processParams.resultTypeOutput;
358
-
361
+
359
362
  // JSONObject
360
363
  result[@"imageQA"] = [self getImageQA:processParams.imageQA];
361
364
  result[@"rfidParams"] = [RGLWJSONConstructor generateRFIDParams:processParams.rfidParams];
362
365
  result[@"faceApiParams"] = [RGLWJSONConstructor generateFaceAPIParams:processParams.faceApiParams];
363
366
  result[@"backendProcessingConfig"] = [RGLWJSONConstructor generateBackendProcessingConfig:processParams.backendProcessingConfig];
364
367
  result[@"authenticityParams"] = [self getAuthenticityParams:processParams.authenticityParams];
365
-
368
+
366
369
  // Custom
367
370
  result[@"customParams"] = processParams.customParams;
368
-
371
+
369
372
  return result;
370
373
  }
371
374
 
@@ -381,7 +384,7 @@
381
384
  customization.showNextPageAnimation = [[options valueForKey:@"showNextPageAnimation"] boolValue];
382
385
  if([options valueForKey:@"showBackgroundMask"] != nil)
383
386
  customization.showBackgroundMask = [[options valueForKey:@"showBackgroundMask"] boolValue];
384
-
387
+
385
388
  // Int
386
389
  if([options valueForKey:@"cameraFrameBorderWidth"] != nil)
387
390
  customization.cameraFrameBorderWidth = [[options valueForKey:@"cameraFrameBorderWidth"] floatValue];
@@ -393,13 +396,13 @@
393
396
  customization.cameraFrameOffsetWidth = [[options valueForKey:@"cameraFrameOffsetWidth"] floatValue];
394
397
  if(options[@"nextPageAnimationStartDelay"]) customization.nextPageAnimationStartDelay = [options[@"nextPageAnimationStartDelay"] floatValue];
395
398
  if(options[@"nextPageAnimationEndDelay"]) customization.nextPageAnimationEndDelay = [options[@"nextPageAnimationEndDelay"] floatValue];
396
-
399
+
397
400
  // String
398
401
  if([options valueForKey:@"status"] != nil)
399
402
  customization.status = [options valueForKey:@"status"];
400
403
  if([options valueForKey:@"resultStatus"] != nil)
401
404
  customization.resultStatus = [options valueForKey:@"resultStatus"];
402
-
405
+
403
406
  // Color
404
407
  if([options valueForKey:@"cameraFrameDefaultColor"] != nil)
405
408
  customization.cameraFrameDefaultColor = [self colorWithInt:[options valueForKey:@"cameraFrameDefaultColor"]];
@@ -423,7 +426,7 @@
423
426
  customization.cameraPreviewBackgroundColor = [self colorWithInt:[options valueForKey:@"cameraPreviewBackgroundColor"]];
424
427
  if([options valueForKey:@"backgroundMaskColor"] != nil)
425
428
  customization.backgroundMaskColor = [self colorWithInt:[options valueForKey:@"backgroundMaskColor"]];
426
-
429
+
427
430
  // Float
428
431
  if([options valueForKey:@"statusPositionMultiplier"] != nil)
429
432
  customization.statusPositionMultiplier = [[options valueForKey:@"statusPositionMultiplier"] floatValue];
@@ -445,7 +448,7 @@
445
448
  customization.cameraFrameCornerRadius = [[options valueForKey:@"cameraFrameCornerRadius"] floatValue];
446
449
  if([options valueForKey:@"livenessAnimationPositionMultiplier"] != nil)
447
450
  customization.livenessAnimationPositionMultiplier = [[options valueForKey:@"livenessAnimationPositionMultiplier"] floatValue];
448
-
451
+
449
452
  // Drawable
450
453
  if([options valueForKey:@"multipageAnimationFrontImage"] != nil)
451
454
  customization.multipageAnimationFrontImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"multipageAnimationFrontImage"]];
@@ -471,13 +474,13 @@
471
474
  customization.torchButtonOffImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"torchButtonOffImage"]];
472
475
  if([options valueForKey:@"livenessAnimationImage"] != nil)
473
476
  customization.livenessAnimationImage = [RGLWJSONConstructor imageWithBase64:[options valueForKey:@"livenessAnimationImage"]];
474
-
477
+
475
478
  // Font
476
479
  if([options valueForKey:@"statusTextFont"] != nil)
477
480
  customization.statusTextFont = [self UIFontFromJSON:[options valueForKey:@"statusTextFont"]];
478
481
  if([options valueForKey:@"resultStatusTextFont"] != nil)
479
482
  customization.resultStatusTextFont = [self UIFontFromJSON:[options valueForKey:@"resultStatusTextFont"]];
480
-
483
+
481
484
  // Custom
482
485
  if([options valueForKey:@"customLabelStatus"] != nil)
483
486
  customization.customLabelStatus = [[NSAttributedString alloc]initWithString:[options valueForKey:@"customLabelStatus"]];
@@ -485,7 +488,7 @@
485
488
  customization.cameraFrameLineCap = [self lineCapWithNumber:[options valueForKey:@"cameraFrameLineCap"]];
486
489
  if([options valueForKey:@"uiCustomizationLayer"] != nil)
487
490
  customization.customUILayerJSON = [options valueForKey:@"uiCustomizationLayer"];
488
-
491
+
489
492
  // ContentMode
490
493
  if([options valueForKey:@"helpAnimationImageContentMode"] != nil)
491
494
  customization.helpAnimationImageContentMode = [self viewContentModeWithNumber:[options valueForKey:@"helpAnimationImageContentMode"]];
@@ -508,14 +511,14 @@
508
511
 
509
512
  +(NSDictionary*)getCustomization:(RGLCustomization*)customization {
510
513
  NSMutableDictionary *result = [NSMutableDictionary new];
511
-
514
+
512
515
  // Boolean
513
516
  result[@"showStatusMessages"] = [NSNumber numberWithBool:customization.showStatusMessages];
514
517
  result[@"showResultStatusMessages"] = [NSNumber numberWithBool:customization.showResultStatusMessages];
515
518
  result[@"showHelpAnimation"] = [NSNumber numberWithBool:customization.showHelpAnimation];
516
519
  result[@"showNextPageAnimation"] = [NSNumber numberWithBool:customization.showNextPageAnimation];
517
520
  result[@"showBackgroundMask"] = [NSNumber numberWithBool:customization.showBackgroundMask];
518
-
521
+
519
522
  // Int
520
523
  result[@"cameraFrameBorderWidth"] = [NSNumber numberWithFloat:customization.cameraFrameBorderWidth];
521
524
  result[@"cameraFrameLineLength"] = [NSNumber numberWithFloat:customization.cameraFrameLineLength];
@@ -523,11 +526,11 @@
523
526
  result[@"cameraFrameOffsetWidth"] = [NSNumber numberWithFloat:customization.cameraFrameOffsetWidth];
524
527
  result[@"nextPageAnimationStartDelay"] = [NSNumber numberWithFloat:customization.nextPageAnimationStartDelay];
525
528
  result[@"nextPageAnimationEndDelay"] = [NSNumber numberWithFloat:customization.nextPageAnimationEndDelay];
526
-
529
+
527
530
  // String
528
531
  result[@"status"] = customization.status;
529
532
  result[@"resultStatus"] = customization.resultStatus;
530
-
533
+
531
534
  // Color
532
535
  result[@"cameraFrameDefaultColor"] = [self intWithColor:customization.cameraFrameDefaultColor];
533
536
  result[@"cameraFrameActiveColor"] = [self intWithColor:customization.cameraFrameActiveColor];
@@ -540,7 +543,7 @@
540
543
  result[@"statusBackgroundColor"] = [self intWithColor:customization.statusBackgroundColor];
541
544
  result[@"cameraPreviewBackgroundColor"] = [self intWithColor:customization.cameraPreviewBackgroundColor];
542
545
  result[@"backgroundMaskColor"] = [self intWithColor:customization.backgroundMaskColor];
543
-
546
+
544
547
  // Float
545
548
  result[@"statusPositionMultiplier"] = [NSNumber numberWithFloat:customization.statusPositionMultiplier];
546
549
  result[@"resultStatusPositionMultiplier"] = [NSNumber numberWithFloat:customization.resultStatusPositionMultiplier];
@@ -552,7 +555,7 @@
552
555
  result[@"cameraFramePortraitAspectRatio"] = [NSNumber numberWithFloat:customization.cameraFramePortraitAspectRatio];
553
556
  result[@"cameraFrameCornerRadius"] = [NSNumber numberWithFloat:customization.cameraFrameCornerRadius];
554
557
  result[@"livenessAnimationPositionMultiplier"] = [NSNumber numberWithFloat:customization.livenessAnimationPositionMultiplier];
555
-
558
+
556
559
  // Drawable
557
560
  result[@"multipageAnimationFrontImage"] = [RGLWJSONConstructor base64WithImage:customization.multipageAnimationFrontImage];
558
561
  result[@"multipageAnimationBackImage"] = [RGLWJSONConstructor base64WithImage:customization.multipageAnimationBackImage];
@@ -566,27 +569,27 @@
566
569
  result[@"torchButtonOnImage"] = [RGLWJSONConstructor base64WithImage:customization.torchButtonOnImage];
567
570
  result[@"torchButtonOffImage"] = [RGLWJSONConstructor base64WithImage:customization.torchButtonOffImage];
568
571
  result[@"livenessAnimationImage"] = [RGLWJSONConstructor base64WithImage:customization.livenessAnimationImage];
569
-
572
+
570
573
  // Font
571
574
  result[@"statusTextFont"] = [self generateUIFont:customization.statusTextFont];
572
575
  result[@"resultStatusTextFont"] = [self generateUIFont:customization.resultStatusTextFont];
573
-
576
+
574
577
  // Custom
575
578
  if(customization.customLabelStatus != nil) result[@"customLabelStatus"] = customization.customLabelStatus.string;
576
579
  result[@"cameraFrameLineCap"] = [self generateLineCap:customization.cameraFrameLineCap];
577
580
  result[@"uiCustomizationLayer"] = customization.customUILayerJSON;
578
-
581
+
579
582
  // ContentMode
580
583
  result[@"helpAnimationImageContentMode"] = [self generateViewContentMode:customization.helpAnimationImageContentMode];
581
584
  result[@"multipageAnimationFrontImageContentMode"] = [self generateViewContentMode:customization.multipageAnimationFrontImageContentMode];
582
585
  result[@"multipageAnimationBackImageContentMode"] = [self generateViewContentMode:customization.multipageAnimationBackImageContentMode];
583
586
  result[@"livenessAnimationImageContentMode"] = [self generateViewContentMode:customization.livenessAnimationImageContentMode];
584
587
  result[@"borderBackgroundImageContentMode"] = [self generateViewContentMode:customization.borderBackgroundImageContentMode];
585
-
588
+
586
589
  result[@"colors"] = [self getColors: [customization.uiConfiguration valueForKey:@"colors"]];
587
590
  result[@"fonts"] = [self getFonts: [customization.uiConfiguration valueForKey:@"fonts"]];
588
591
  result[@"images"] = [self getImages: [customization.uiConfiguration valueForKey:@"images"]];
589
-
592
+
590
593
  return result;
591
594
  }
592
595
 
@@ -662,7 +665,9 @@
662
665
  rfidScenario.proceedReadingAlways = [[options valueForKey:@"proceedReadingAlways"] boolValue];
663
666
  if(options[@"readDTC"]) rfidScenario.readDTC = [options[@"readDTC"] boolValue];
664
667
  if(options[@"mrzStrictCheck"]) rfidScenario.mrzStrictCheck = options[@"mrzStrictCheck"];
665
-
668
+ if(options[@"loadCRLFromRemote"]) rfidScenario.loadCRLFromRemote = [options[@"loadCRLFromRemote"] boolValue];
669
+ if(options[@"independentSODStatus"]) rfidScenario.independentSODStatus = options[@"independentSODStatus"];
670
+
666
671
  // Int
667
672
  if([options valueForKey:@"signManagementAction"] != nil)
668
673
  rfidScenario.signManagementAction = [[options valueForKey:@"signManagementAction"] integerValue];
@@ -682,7 +687,7 @@
682
687
  rfidScenario.terminalType = [[options valueForKey:@"terminalType"] integerValue];
683
688
  if([options valueForKey:@"defaultReadingBufferSize"] != nil)
684
689
  rfidScenario.defaultReadingBufferSize = [[options valueForKey:@"defaultReadingBufferSize"] intValue];
685
-
690
+
686
691
  // String
687
692
  if([options valueForKey:@"password"] != nil)
688
693
  rfidScenario.password = [options valueForKey:@"password"];
@@ -697,7 +702,7 @@
697
702
  if([options valueForKey:@"eSignPINNewValue"] != nil)
698
703
  rfidScenario.eSignPINNewValue = [options valueForKey:@"eSignPINNewValue"];
699
704
  if(options[@"cardAccess"]) rfidScenario.cardAccess = options[@"cardAccess"];
700
-
705
+
701
706
  // DataGroup
702
707
  if([options valueForKey:@"ePassportDataGroups"] != nil)
703
708
  [self setDataGroups :rfidScenario.ePassportDataGroups dict:[options valueForKey:@"ePassportDataGroups"]];
@@ -705,12 +710,12 @@
705
710
  [self setDataGroups :rfidScenario.eIDDataGroups dict:[options valueForKey:@"eIDDataGroups"]];
706
711
  if([options valueForKey:@"eDLDataGroups"] != nil)
707
712
  [self setDataGroups :rfidScenario.eDLDataGroups dict:[options valueForKey:@"eDLDataGroups"]];
708
- if(options[@"dtcDataGroups"]) [self setDataGroups :rfidScenario.DTCDataGroups dict:options[@"dtcDataGroups"]];
713
+ if(options[@"dtcDataGroups"]) [self setDTCDataGroup :rfidScenario.DTCDataGroups dict:options[@"dtcDataGroups"]];
709
714
  }
710
715
 
711
716
  +(NSDictionary*)getRfidScenario:(RGLRFIDScenario*)rfidScenario {
712
717
  NSMutableDictionary *result = [NSMutableDictionary new];
713
-
718
+
714
719
  // Boolean
715
720
  result[@"paceStaticBinding"] = [NSNumber numberWithBool:rfidScenario.paceStaticBinding];
716
721
  result[@"onlineTA"] = [NSNumber numberWithBool:rfidScenario.onlineTA];
@@ -748,7 +753,9 @@
748
753
  result[@"proceedReadingAlways"] = [NSNumber numberWithBool:rfidScenario.proceedReadingAlways];
749
754
  result[@"readDTC"] = [NSNumber numberWithBool:rfidScenario.readDTC];
750
755
  result[@"mrzStrictCheck"] = rfidScenario.mrzStrictCheck;
751
-
756
+ result[@"loadCRLFromRemote"] = @(rfidScenario.loadCRLFromRemote);
757
+ result[@"independentSODStatus"] = rfidScenario.independentSODStatus;
758
+
752
759
  // Int
753
760
  result[@"signManagementAction"] = [NSNumber numberWithInteger:rfidScenario.signManagementAction];
754
761
  result[@"readingBuffer"] = [NSNumber numberWithInteger:rfidScenario.readingBuffer];
@@ -759,7 +766,7 @@
759
766
  result[@"pacePasswordType"] = [NSNumber numberWithInteger:rfidScenario.pacePasswordType];
760
767
  result[@"terminalType"] = [NSNumber numberWithInteger:rfidScenario.terminalType];
761
768
  result[@"defaultReadingBufferSize"] = [NSNumber numberWithInteger:rfidScenario.defaultReadingBufferSize];
762
-
769
+
763
770
  // String
764
771
  result[@"password"] = rfidScenario.password;
765
772
  result[@"pkdPA"] = rfidScenario.pkdPA;
@@ -768,18 +775,18 @@
768
775
  result[@"eSignPINDefault"] = rfidScenario.eSignPINDefault;
769
776
  result[@"eSignPINNewValue"] = rfidScenario.eSignPINNewValue;
770
777
  result[@"cardAccess"] = rfidScenario.cardAccess;
771
-
778
+
772
779
  // DataGroup
773
780
  result[@"eDLDataGroups"] = [self getDataGroups:rfidScenario.eDLDataGroups];
774
781
  result[@"ePassportDataGroups"] = [self getDataGroups:rfidScenario.ePassportDataGroups];
775
782
  result[@"eIDDataGroups"] = [self getDataGroups:rfidScenario.eIDDataGroups];
776
- result[@"dtcDataGroups"] = [self getDataGroups:rfidScenario.DTCDataGroups];
777
-
783
+ result[@"dtcDataGroups"] = [self getDTCDataGroup:rfidScenario.DTCDataGroups];
784
+
778
785
  return result;
779
786
  }
780
787
 
781
788
  +(void)setDataGroups:(RGLDataGroup*)dataGroup dict:(NSDictionary*)dict {
782
-
789
+
783
790
  // EDLDataGroups/Common: 1-14
784
791
  if([dict valueForKey:@"DG1"] != nil)
785
792
  dataGroup.dG1 = [[dict valueForKey:@"DG1"] boolValue];
@@ -809,7 +816,7 @@
809
816
  dataGroup.dG13 = [[dict valueForKey:@"DG13"] boolValue];
810
817
  if([dict valueForKey:@"DG14"] != nil)
811
818
  dataGroup.dG14 = [[dict valueForKey:@"DG14"] boolValue];
812
-
819
+
813
820
  // EPassportDataGroups: 1-16
814
821
  if ([dataGroup class] == [RGLePassportDataGroup class]) {
815
822
  if([dict valueForKey:@"DG15"] != nil)
@@ -817,7 +824,7 @@
817
824
  if([dict valueForKey:@"DG16"] != nil)
818
825
  ((RGLePassportDataGroup*)dataGroup).dG16 = [[dict valueForKey:@"DG16"] boolValue];
819
826
  }
820
-
827
+
821
828
  // EIDDataGroups: 1-21
822
829
  if ([dataGroup class] == [RGLeIDDataGroup class]) {
823
830
  if([dict valueForKey:@"DG15"] != nil)
@@ -835,22 +842,11 @@
835
842
  if([dict valueForKey:@"DG21"] != nil)
836
843
  ((RGLeIDDataGroup*)dataGroup).dG21 = [[dict valueForKey:@"DG21"] boolValue];
837
844
  }
838
-
839
- // DTCDataGroups: 1-18 & 22-24
840
- if ([dataGroup class] == [RGLDTCDataGroup class]) {
841
- if(dict[@"DG15"]) ((RGLDTCDataGroup*)dataGroup).dG15 = [dict[@"DG15"] boolValue];
842
- if(dict[@"DG16"]) ((RGLDTCDataGroup*)dataGroup).dG16 = [dict[@"DG16"] boolValue];
843
- if(dict[@"DG17"]) ((RGLDTCDataGroup*)dataGroup).dG17 = [dict[@"DG17"] boolValue];
844
- if(dict[@"DG18"]) ((RGLDTCDataGroup*)dataGroup).dG18 = [dict[@"DG18"] boolValue];
845
- if(dict[@"DG22"]) ((RGLDTCDataGroup*)dataGroup).dG22 = [dict[@"DG22"] boolValue];
846
- if(dict[@"DG23"]) ((RGLDTCDataGroup*)dataGroup).dG23 = [dict[@"DG23"] boolValue];
847
- if(dict[@"DG24"]) ((RGLDTCDataGroup*)dataGroup).dG24 = [dict[@"DG24"] boolValue];
848
- }
849
845
  }
850
846
 
851
847
  +(NSDictionary *)getDataGroups:(RGLDataGroup*)dataGroup {
852
848
  NSMutableDictionary *result = [NSMutableDictionary new];
853
-
849
+
854
850
  // EDLDataGroups/Common: 1-14
855
851
  result[@"DG1"] = [NSNumber numberWithBool:dataGroup.dG1];
856
852
  result[@"DG2"] = [NSNumber numberWithBool:dataGroup.dG2];
@@ -866,13 +862,13 @@
866
862
  result[@"DG12"] = [NSNumber numberWithBool:dataGroup.dG12];
867
863
  result[@"DG13"] = [NSNumber numberWithBool:dataGroup.dG13];
868
864
  result[@"DG14"] = [NSNumber numberWithBool:dataGroup.dG14];
869
-
865
+
870
866
  // EPassportDataGroups: 1-16
871
867
  if ([dataGroup class] == [RGLePassportDataGroup class]) {
872
868
  result[@"DG15"] = [NSNumber numberWithBool:((RGLePassportDataGroup*)dataGroup).dG15];
873
869
  result[@"DG16"] = [NSNumber numberWithBool:((RGLePassportDataGroup*)dataGroup).dG16];
874
870
  }
875
-
871
+
876
872
  // EIDDataGroups: 1-21
877
873
  if ([dataGroup class] == [RGLeIDDataGroup class]) {
878
874
  result[@"DG15"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG15];
@@ -883,18 +879,27 @@
883
879
  result[@"DG20"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG20];
884
880
  result[@"DG21"] = [NSNumber numberWithBool:((RGLeIDDataGroup*)dataGroup).dG21];
885
881
  }
886
-
887
- // DTCDataGroups: 1-18 & 22-24
888
- if ([dataGroup class] == [RGLDTCDataGroup class]) {
889
- result[@"DG15"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG15];
890
- result[@"DG16"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG16];
891
- result[@"DG17"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG17];
892
- result[@"DG18"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG18];
893
- result[@"DG22"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG22];
894
- result[@"DG23"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG23];
895
- result[@"DG24"] = [NSNumber numberWithBool:((RGLDTCDataGroup*)dataGroup).dG24];
896
- }
897
-
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
+
898
903
  return result;
899
904
  }
900
905
 
@@ -922,11 +927,12 @@
922
927
  result.glaresCheckParams = [RGLWJSONConstructor glaresCheckParamsFromJson:[input valueForKey:@"glaresCheckParams"]];
923
928
  if([input valueForKey:@"brightnessThreshold"] != nil)
924
929
  result.brightnessThreshold = [input valueForKey:@"brightnessThreshold"];
930
+ if(input[@"occlusionCheck"]) result.occlusionCheck = input[@"occlusionCheck"];
925
931
  }
926
932
 
927
933
  +(NSDictionary*)getImageQA:(RGLImageQA*)input {
928
934
  NSMutableDictionary *result = [NSMutableDictionary new];
929
-
935
+
930
936
  result[@"dpiThreshold"] = input.dpiThreshold;
931
937
  result[@"angleThreshold"] = input.angleThreshold;
932
938
  result[@"focusCheck"] = input.focusCheck;
@@ -941,6 +947,7 @@
941
947
  result[@"documentPositionIndent"] = input.documentPositionIndent;
942
948
  result[@"glaresCheckParams"] = [RGLWJSONConstructor generateGlaresCheckParams:input.glaresCheckParams];
943
949
  result[@"brightnessThreshold"] = input.brightnessThreshold;
950
+ result[@"occlusionCheck"] = input.occlusionCheck;
944
951
 
945
952
  return result;
946
953
  }
@@ -978,6 +985,7 @@
978
985
  result.checkPhotoComparison = [input valueForKey:@"checkPhotoComparison"];
979
986
  if([input valueForKey:@"checkLetterScreen"] != nil)
980
987
  result.checkLetterScreen = [input valueForKey:@"checkLetterScreen"];
988
+ if(input[@"checkSecurityText"]) result.checkSecurityText = input[@"checkSecurityText"];
981
989
  }
982
990
 
983
991
  +(NSDictionary*)getAuthenticityParams:(RGLAuthenticityParams*)input {
@@ -999,6 +1007,7 @@
999
1007
  result[@"checkPhotoEmbedding"] = input.checkPhotoEmbedding;
1000
1008
  result[@"checkPhotoComparison"] = input.checkPhotoComparison;
1001
1009
  result[@"checkLetterScreen"] = input.checkLetterScreen;
1010
+ result[@"checkSecurityText"] = input.checkSecurityText;
1002
1011
 
1003
1012
  return result;
1004
1013
  }
@@ -1012,6 +1021,8 @@
1012
1021
  result.checkHolo = [input valueForKey:@"checkHolo"];
1013
1022
  if([input valueForKey:@"checkED"] != nil)
1014
1023
  result.checkED = [input valueForKey:@"checkED"];
1024
+ if(input[@"checkBlackAndWhiteCopy"]) result.checkBlackAndWhiteCopy = input[@"checkBlackAndWhiteCopy"];
1025
+ if(input[@"checkDynaprint"]) result.checkDynaprint = input[@"checkDynaprint"];
1015
1026
  }
1016
1027
 
1017
1028
  +(NSDictionary*)getLivenessParams:(RGLLivenessParams*)input {
@@ -1022,6 +1033,8 @@
1022
1033
  result[@"checkMLI"] = input.checkMLI;
1023
1034
  result[@"checkHolo"] = input.checkHolo;
1024
1035
  result[@"checkED"] = input.checkED;
1036
+ result[@"checkBlackAndWhiteCopy"] = input.checkBlackAndWhiteCopy;
1037
+ result[@"checkDynaprint"] = input.checkDynaprint;
1025
1038
 
1026
1039
  return result;
1027
1040
  }
@@ -1340,6 +1353,7 @@
1340
1353
  if(value == RGLImageQualityCheckTypePortrait) return @7;
1341
1354
  if(value == RGLImageQualityCheckTypeHandwritten) return @8;
1342
1355
  if(value == RGLImageQualityCheckTypeBrightness) return @9;
1356
+ if(value == RGLImageQualityCheckTypeOcclusion) return @10;
1343
1357
  return 0;
1344
1358
  }
1345
1359
 
@@ -1356,6 +1370,7 @@
1356
1370
  if(value == 7) return RGLImageQualityCheckTypePortrait;
1357
1371
  if(value == 8) return RGLImageQualityCheckTypeHandwritten;
1358
1372
  if(value == 9) return RGLImageQualityCheckTypeBrightness;
1373
+ if(value == 10) return RGLImageQualityCheckTypeOcclusion;
1359
1374
  return RGLImageQualityCheckTypeImageGlares;
1360
1375
  }
1361
1376
 
@@ -63,8 +63,8 @@
63
63
  +(NSDictionary* _Nullable)generateEPassportDataGroups:(RGLePassportDataGroup* _Nullable)input;
64
64
  +(RGLeIDDataGroup* _Nullable)eIDDataGroupsFromJson:(NSDictionary* _Nullable)input;
65
65
  +(NSDictionary* _Nullable)generateEIDDataGroups:(RGLeIDDataGroup* _Nullable)input;
66
- +(RGLeIDDataGroup* _Nullable)dtcDataGroupsFromJson:(NSDictionary* _Nullable)input;
67
- +(NSDictionary* _Nullable)generateRGLDTCDataGroups:(RGLeIDDataGroup* _Nullable)input;
66
+ +(RGLeIDDataGroup* _Nullable)dtcDataGroupFromJson:(NSDictionary* _Nullable)input;
67
+ +(NSDictionary* _Nullable)generateRGLDTCDataGroup:(RGLeIDDataGroup* _Nullable)input;
68
68
  +(RGLRFIDScenario* _Nullable)rfidScenarioFromJson:(NSDictionary* _Nullable)input;
69
69
  +(NSDictionary* _Nullable)generateRFIDScenario:(RGLRFIDScenario* _Nullable)input;
70
70
  +(RGLCustomization* _Nullable)customizationFromJson:(NSDictionary* _Nullable)input;
@@ -184,4 +184,9 @@
184
184
  +(NSDictionary* _Nullable)generateTransactionInfo:(RGLTransactionInfo* _Nullable)input;
185
185
 
186
186
  @end
187
+
188
+ @interface RGLWRequestInterceptorProxy : NSObject <RGLURLRequestInterceptingDelegate>
189
+ - (instancetype _Nonnull)initWithHeaders:(NSDictionary*_Nonnull)headers;
190
+ @end
191
+
187
192
  #endif