@regulaforensics/cordova-plugin-document-reader-api 5.7.0 → 6.1.2

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.
@@ -5,6 +5,7 @@ import org.json.JSONObject;
5
5
  import org.json.JSONException;
6
6
 
7
7
  import com.regula.documentreader.api.DocumentReader;
8
+ import com.regula.documentreader.api.params.ImageQA;
8
9
  import com.regula.documentreader.api.params.ParamsCustomization;
9
10
  import com.regula.documentreader.api.params.Functionality;
10
11
  import com.regula.documentreader.api.params.ProcessParam;
@@ -100,6 +101,8 @@ class RegulaConfig {
100
101
  editor.setDoRecordProcessingVideo(opts.getBoolean("recordScanningProcess"));
101
102
  if (opts.has("manualMultipageMode"))
102
103
  editor.setManualMultipageMode(opts.getBoolean("manualMultipageMode"));
104
+ if (opts.has("exposure"))
105
+ editor.setExposure(BigDecimal.valueOf(opts.getDouble("exposure")).floatValue());
103
106
 
104
107
  editor.apply();
105
108
  }
@@ -165,6 +168,49 @@ class RegulaConfig {
165
168
  processParams.checkHologram = opts.getBoolean("checkHologram");
166
169
  if (opts.has("checkRequiredTextFields"))
167
170
  processParams.checkRequiredTextFields = opts.getBoolean("checkRequiredTextFields");
171
+ if (opts.has("depersonalizeLog"))
172
+ processParams.depersonalizeLog = opts.getBoolean("depersonalizeLog");
173
+ if (opts.has("resultTypeOutput"))
174
+ processParams.resultTypeOutput = intArrayFromJson(opts.getJSONArray("resultTypeOutput"));
175
+ if (opts.has("generateDoublePageSpreadImage"))
176
+ processParams.generateDoublePageSpreadImage = opts.getBoolean("generateDoublePageSpreadImage");
177
+ if (opts.has("imageDpiOutMax"))
178
+ processParams.imageDpiOutMax = opts.getInt("imageDpiOutMax");
179
+ if (opts.has("alreadyCropped"))
180
+ processParams.alreadyCropped = opts.getBoolean("alreadyCropped");
181
+ if (opts.has("forceDocID"))
182
+ processParams.forceDocID = opts.getInt("forceDocID");
183
+ if (opts.has("matchTextFieldMask"))
184
+ processParams.matchTextFieldMask = opts.getBoolean("matchTextFieldMask");
185
+ if (opts.has("fastDocDetect"))
186
+ processParams.fastDocDetect = opts.getBoolean("fastDocDetect");
187
+ if (opts.has("updateOCRValidityByGlare"))
188
+ processParams.updateOCRValidityByGlare = opts.getBoolean("updateOCRValidityByGlare");
189
+ if (opts.has("imageQA")) {
190
+ ImageQA img = new ImageQA();
191
+ img.fromJson(opts.getJSONObject("imageQA"));
192
+ processParams.imageQA = img;
193
+ }
194
+ if (opts.has("forceDocFormat"))
195
+ processParams.forceDocFormat = opts.getInt("forceDocFormat");
196
+ if (opts.has("noGraphics"))
197
+ processParams.noGraphics = opts.getBoolean("noGraphics");
198
+ if (opts.has("documentAreaMin"))
199
+ processParams.documentAreaMin = opts.getDouble("documentAreaMin");
200
+ if (opts.has("multiDocOnImage"))
201
+ processParams.multiDocOnImage = opts.getBoolean("multiDocOnImage");
202
+ if (opts.has("shiftExpiryDate"))
203
+ processParams.shiftExpiryDate = opts.getInt("shiftExpiryDate");
204
+ if (opts.has("minimalHolderAge"))
205
+ processParams.minimalHolderAge = opts.getInt("minimalHolderAge");
206
+ if (opts.has("mrzFormatsFilter"))
207
+ processParams.mrzFormatsFilter = stringArrayFromJson(opts.getJSONArray("mrzFormatsFilter"));
208
+ if (opts.has("forceReadMrzBeforeLocate"))
209
+ processParams.forceReadMrzBeforeLocate = opts.getBoolean("forceReadMrzBeforeLocate");
210
+ if (opts.has("parseBarcodes"))
211
+ processParams.parseBarcodes = opts.getBoolean("parseBarcodes");
212
+ if (opts.has("shouldReturnPackageForReprocess"))
213
+ processParams.shouldReturnPackageForReprocess = opts.getBoolean("shouldReturnPackageForReprocess");
168
214
  }
169
215
 
170
216
  private static void setCustomization(ParamsCustomization customization, JSONObject opts, Context context) throws JSONException {
@@ -278,7 +324,7 @@ class RegulaConfig {
278
324
  if (opts.has("statusBackgroundColor"))
279
325
  editor.setStatusBackgroundColor(opts.getString("statusBackgroundColor"));
280
326
 
281
- editor.apply();
327
+ editor.applyImmediately(context);
282
328
  }
283
329
 
284
330
  private static JSONObject getFunctionality(Functionality functionality) throws JSONException {
@@ -316,6 +362,7 @@ class RegulaConfig {
316
362
  object.put("isCameraTorchCheckDisabled", functionality.isCameraTorchCheckDisabled());
317
363
  object.put("recordScanningProcess", functionality.doRecordProcessingVideo());
318
364
  object.put("manualMultipageMode", functionality.isManualMultipageMode());
365
+ object.put("exposure", functionality.getExposure());
319
366
 
320
367
  return object;
321
368
  }
@@ -382,6 +429,10 @@ class RegulaConfig {
382
429
 
383
430
  private static JSONObject getProcessParams(ProcessParam processParams) throws JSONException {
384
431
  JSONObject object = new JSONObject();
432
+ object.put("documentIDList", processParams.documentIDList != null ? generateIntArray(processParams.documentIDList) : null);
433
+ object.put("barcodeTypes", processParams.doBarcodes != null ? generateArray(processParams.doBarcodes) : null);
434
+ object.put("fieldTypesFilter", processParams.fieldTypesFilter != null ? generateIntArray(processParams.fieldTypesFilter) : null);
435
+ object.put("faceMetaData", processParams.faceMetaData != null ? generateArray(processParams.faceMetaData, JSONConstructor::generateFaceMetaData) : null);
385
436
  object.put("scenario", processParams.scenario);
386
437
  object.put("measureSystem", processParams.measureSystem);
387
438
  object.put("uvTorchEnabled", processParams.uvTorchEnabled);
@@ -409,14 +460,26 @@ class RegulaConfig {
409
460
  object.put("returnCroppedBarcode", processParams.returnCroppedBarcode);
410
461
  object.put("checkHologram", processParams.checkHologram);
411
462
  object.put("checkRequiredTextFields", processParams.checkRequiredTextFields);
412
- if (processParams.documentIDList != null)
413
- object.put("documentIDList", generateIntArray(processParams.documentIDList));
414
- if (processParams.doBarcodes != null)
415
- object.put("barcodeTypes", generateArray(processParams.doBarcodes));
416
- if (processParams.fieldTypesFilter != null)
417
- object.put("fieldTypesFilter", generateIntArray(processParams.fieldTypesFilter));
418
- if (processParams.faceMetaData != null)
419
- object.put("faceMetaData", generateArray(processParams.faceMetaData, JSONConstructor::generateFaceMetaData));
463
+ object.put("depersonalizeLog", processParams.depersonalizeLog);
464
+ object.put("resultTypeOutput", processParams.resultTypeOutput);
465
+ object.put("generateDoublePageSpreadImage", processParams.generateDoublePageSpreadImage);
466
+ object.put("imageDpiOutMax", processParams.imageDpiOutMax);
467
+ object.put("alreadyCropped", processParams.alreadyCropped);
468
+ object.put("forceDocID", processParams.forceDocID);
469
+ object.put("matchTextFieldMask", processParams.matchTextFieldMask);
470
+ object.put("fastDocDetect", processParams.fastDocDetect);
471
+ object.put("updateOCRValidityByGlare", processParams.updateOCRValidityByGlare);
472
+ object.put("imageQA", processParams.imageQA != null ? processParams.imageQA.toJsonObject() : null);
473
+ object.put("forceDocFormat", processParams.forceDocFormat);
474
+ object.put("noGraphics", processParams.noGraphics);
475
+ object.put("documentAreaMin", processParams.documentAreaMin);
476
+ object.put("multiDocOnImage", processParams.multiDocOnImage);
477
+ object.put("shiftExpiryDate", processParams.shiftExpiryDate);
478
+ object.put("minimalHolderAge", processParams.minimalHolderAge);
479
+ object.put("mrzFormatsFilter", processParams.mrzFormatsFilter != null ? generateArray(processParams.mrzFormatsFilter) : null);
480
+ object.put("forceReadMrzBeforeLocate", processParams.forceReadMrzBeforeLocate);
481
+ object.put("parseBarcodes", processParams.parseBarcodes);
482
+ object.put("shouldReturnPackageForReprocess", processParams.shouldReturnPackageForReprocess);
420
483
 
421
484
  return object;
422
485
  }
@@ -1,18 +1,18 @@
1
1
  repositories {
2
- jcenter()
3
- maven{
4
- url "https://maven.google.com"
5
- }
6
- maven{
7
- url "http://maven.regulaforensics.com/RegulaDocumentReader"
8
- }
9
- maven {
10
- url "http://maven.regulaforensics.com/RegulaDocumentReader/Beta"
11
- }
2
+ jcenter()
3
+ maven{
4
+ url "https://maven.google.com"
12
5
  }
6
+ maven{
7
+ url "https://maven.regulaforensics.com/RegulaDocumentReader"
8
+ }
9
+ maven {
10
+ url "https://maven.regulaforensics.com/RegulaDocumentReader/Beta"
11
+ }
12
+ }
13
13
 
14
14
  dependencies {
15
- implementation ('com.regula.documentreader:api:5.7.4947'){
15
+ implementation ('com.regula.documentreader:api:6.1.6564'){
16
16
  transitive = true
17
17
  }
18
18
  }
@@ -26,11 +26,11 @@ NSString* taSignatureCompletionEvent = @"taSignatureCompletionEvent";
26
26
  }
27
27
 
28
28
  - (void)didChipConnected {
29
- [plugin sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, @"1"] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_CHIP_DETECTED = 1;
29
+ [plugin sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRfidNotificationCompletion:1]]] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_CHIP_DETECTED = 1;
30
30
  }
31
31
 
32
32
  - (void)didReceivedError:(RGLRFIDErrorCodes)errorCode {
33
- [plugin sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, @"2"] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_READING_ERROR = 2;
33
+ [plugin sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRfidNotificationCompletionWithError:2:errorCode]]] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_READING_ERROR = 2;
34
34
  }
35
35
 
36
36
  @end
@@ -115,11 +115,11 @@ typedef void (^Callback)(NSString* response);
115
115
  }
116
116
 
117
117
  - (void)didChipConnected {
118
- [self sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, @"1"] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_CHIP_DETECTED = 1;
118
+ [plugin sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRfidNotificationCompletion:1]]] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_CHIP_DETECTED = 1;
119
119
  }
120
120
 
121
121
  - (void)didReceivedError:(RGLRFIDErrorCodes)errorCode {
122
- [self sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, @"2"] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_READING_ERROR = 2;
122
+ [plugin sendEvent:[NSString stringWithFormat:@"%@%@", rfidNotificationCompletionEvent, [RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRfidNotificationCompletionWithError:2:errorCode]]] :RGLDocumentReader.command.callbackId]; // int RFID_EVENT_READING_ERROR = 2;
123
123
  }
124
124
 
125
125
  - (void) exec:(CDVInvokedUrlCommand*)command {
@@ -136,7 +136,9 @@ typedef void (^Callback)(NSString* response);
136
136
  [self.commandDelegate sendPluginResult:[CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:response] callbackId:command.callbackId];
137
137
  };
138
138
 
139
- if([action isEqualToString:@"getAPIVersion"])
139
+ if([action isEqualToString:@"initializeReaderAutomatically"])
140
+ [self initializeReaderAutomatically :successCallback :errorCallback];
141
+ else if([action isEqualToString:@"getAPIVersion"])
140
142
  [self getAPIVersion :successCallback :errorCallback];
141
143
  else if([action isEqualToString:@"getAvailableScenarios"])
142
144
  [self getAvailableScenarios :successCallback :errorCallback];
@@ -240,6 +242,8 @@ typedef void (^Callback)(NSString* response);
240
242
  [self provideTACertificates :[args objectAtIndex:0] :successCallback :errorCallback];
241
243
  else if([action isEqualToString:@"provideTASignature"])
242
244
  [self provideTASignature :[args objectAtIndex:0] :successCallback :errorCallback];
245
+ else if([action isEqualToString:@"parseCoreResults"])
246
+ [self parseCoreResults :[args objectAtIndex:0] :successCallback :errorCallback];
243
247
  else if([action isEqualToString:@"initializeReaderWithDatabasePath"])
244
248
  [self initializeReaderWithDatabasePath :[args objectAtIndex:0] :[args objectAtIndex:1] :successCallback :errorCallback];
245
249
  else if([action isEqualToString:@"initializeReaderWithDatabase"])
@@ -260,6 +264,12 @@ typedef void (^Callback)(NSString* response);
260
264
  [self result:[NSString stringWithFormat:@"%@/%@", @"method not implemented: ", action] :errorCallback];
261
265
  }
262
266
 
267
+ - (void) initializeReaderAutomatically:(Callback)successCallback :(Callback)errorCallback{
268
+ NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"regula.license" ofType:nil];
269
+ NSData *licenseData = [NSData dataWithContentsOfFile:dataPath];
270
+ [RGLDocReader.shared initializeReaderWithConfig:[RGLConfig configWithLicenseData:licenseData] completion:[self getInitCompletion :successCallback :errorCallback]];
271
+ }
272
+
263
273
  - (void) resetConfiguration:(Callback)successCallback :(Callback)errorCallback{
264
274
  [self result:@"resetConfiguration() is an android-only method" :errorCallback];
265
275
  }
@@ -301,7 +311,11 @@ typedef void (^Callback)(NSString* response);
301
311
  }
302
312
 
303
313
  - (void) initializeReader:(NSString*)licenseString :(Callback)successCallback :(Callback)errorCallback{
304
- [RGLDocReader.shared initializeReader:[[NSData alloc] initWithBase64EncodedString:licenseString options:0] completion:[self getInitCompletion :successCallback :errorCallback]];
314
+ [RGLDocReader.shared initializeReaderWithConfig:[RGLConfig configWithLicenseData:[[NSData alloc] initWithBase64EncodedString:licenseString options:0]] completion:[self getInitCompletion :successCallback :errorCallback]];
315
+ }
316
+
317
+ - (void) parseCoreResults:(NSString*)json :(Callback)successCallback :(Callback)errorCallback{
318
+ [self result:[RGLWJSONConstructor dictToString:[RGLWJSONConstructor generateRGLDocumentReaderResults:[RGLDocumentReaderResults initWithRawString: json]]] :successCallback];
305
319
  }
306
320
 
307
321
  - (void) startRFIDReader:(Callback)successCallback :(Callback)errorCallback{
@@ -311,7 +325,7 @@ typedef void (^Callback)(NSString* response);
311
325
  }
312
326
 
313
327
  - (void) initializeReaderWithDatabasePath:(NSString*)licenseString :(NSString*)databasePath :(Callback)successCallback :(Callback)errorCallback{
314
- [RGLDocReader.shared initializeReader:[[NSData alloc] initWithBase64EncodedString:licenseString options:0] databasePath:databasePath completion:[self getInitCompletion :successCallback :errorCallback]];
328
+ [RGLDocReader.shared initializeReaderWithConfig:[RGLConfig configWithLicenseData:[[NSData alloc] initWithBase64EncodedString:licenseString options:0] licenseUpdateCheck:true databasePath:databasePath delayedNNLoadEnabled:false] completion:[self getInitCompletion :successCallback :errorCallback]];
315
329
  }
316
330
 
317
331
  - (void) prepareDatabase:(NSString*)dbID :(Callback)successCallback :(Callback)errorCallback{
@@ -7,6 +7,8 @@
7
7
 
8
8
  @interface RGLWJSONConstructor : NSObject
9
9
  +(NSString* _Nonnull)dictToString:(NSMutableDictionary* _Nonnull)input;
10
+ +(NSMutableDictionary* _Nonnull)generateRfidNotificationCompletion:(NSInteger)notification;
11
+ +(NSMutableDictionary* _Nonnull)generateRfidNotificationCompletionWithError:(NSInteger)notification : (NSInteger)value;
10
12
  +(NSMutableDictionary* _Nonnull)generateNSDictionary:(NSDictionary<NSNumber*, NSNumber*>* _Nullable)input;
11
13
  +(RGLPKDCertificate* _Nullable)RGLPKDCertificateFromJson:(NSDictionary* _Nullable) dict;
12
14
  +(NSInteger)generateDocReaderAction:(RGLDocReaderAction)action;
@@ -54,6 +56,10 @@
54
56
  +(NSMutableDictionary* _Nonnull)generateRGLPAResourcesIssuer:(RGLPAResourcesIssuer* _Nullable)input;
55
57
  +(NSMutableDictionary* _Nonnull)generateRGLPAAttribute:(RGLPAAttribute* _Nullable)input;
56
58
  +(NSMutableDictionary* _Nonnull)generateRGLTAChallenge:(RGLTAChallenge* _Nullable)input;
59
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderResultsStatus:(RGLDocumentReaderResultsStatus* _Nullable)input;
60
+ +(NSMutableDictionary* _Nonnull)generateRGLOpticalStatus:(RGLOpticalStatus* _Nullable)input;
61
+ +(NSMutableDictionary* _Nonnull)generateRGLVDSNCData:(RGLVDSNCData* _Nullable)input;
62
+ +(NSMutableDictionary* _Nonnull)generateRGLBytesData:(RGLBytesData* _Nullable)input;
57
63
  +(NSMutableDictionary* _Nonnull)generateRGLRFIDNotify:(RGLRFIDNotify* _Nullable)input;
58
64
 
59
65
  @end
@@ -62,6 +62,23 @@
62
62
  return result;
63
63
  }
64
64
 
65
+ +(NSMutableDictionary*)generateRfidNotificationCompletion:(NSInteger)notification {
66
+ NSMutableDictionary *result = [NSMutableDictionary new];
67
+
68
+ result[@"notification"] = [NSNumber numberWithInteger:notification];
69
+
70
+ return result;
71
+ }
72
+
73
+ +(NSMutableDictionary*)generateRfidNotificationCompletionWithError:(NSInteger)notification :(NSInteger)value {
74
+ NSMutableDictionary *result = [NSMutableDictionary new];
75
+
76
+ result[@"notification"] = [NSNumber numberWithInteger:notification];
77
+ result[@"value"] = [NSNumber numberWithInteger:value];
78
+
79
+ return result;
80
+ }
81
+
65
82
  +(NSInteger)generateDocReaderAction:(RGLDocReaderAction)input {
66
83
  NSInteger result = 0;
67
84
  switch (input) {
@@ -235,6 +252,8 @@
235
252
  result[@"elapsedTime"] = @(input.elapsedTime);
236
253
  result[@"elapsedTimeRFID"] = @(input.elapsedTimeRFID);
237
254
  result[@"rawResult"] = input.rawResult;
255
+ result[@"status"] = [self generateRGLDocumentReaderResultsStatus:input.status];
256
+ result[@"vdsncData"] = [self generateRGLVDSNCData:input.vdsncData];
238
257
 
239
258
  return result;
240
259
  }
@@ -904,6 +923,79 @@
904
923
  return result;
905
924
  }
906
925
 
926
+ +(NSMutableDictionary* _Nonnull)generateRGLDocumentReaderResultsStatus:(RGLDocumentReaderResultsStatus* _Nullable)input {
927
+ NSMutableDictionary *result = [NSMutableDictionary new];
928
+ if(input == nil) return result;
929
+
930
+ result[@"overallStatus"] = @(input.overallStatus);
931
+ result[@"optical"] = @(input.optical);
932
+ result[@"detailsOptical"] = [self generateRGLOpticalStatus:input.detailsOptical];
933
+ result[@"rfid"] = @(input.rfid);
934
+ result[@"detailsRFID"] = [self generateRGLRFIDSessionDataStatus:input.detailsRFID];
935
+ result[@"portrait"] = @(input.portrait);
936
+ result[@"stopList"] = @(input.stopList);
937
+
938
+ return result;
939
+ }
940
+
941
+ +(NSMutableDictionary* _Nonnull)generateRGLOpticalStatus:(RGLOpticalStatus* _Nullable)input {
942
+ NSMutableDictionary *result = [NSMutableDictionary new];
943
+ if(input == nil) return result;
944
+
945
+ result[@"overallStatus"] = @(input.overallStatus);
946
+ result[@"mrz"] = @(input.mrz);
947
+ result[@"text"] = @(input.text);
948
+ result[@"docType"] = @(input.docType);
949
+ result[@"security"] = @(input.security);
950
+ result[@"imageQA"] = @(input.imageQA);
951
+ result[@"expiry"] = @(input.expiry);
952
+ result[@"vds"] = @(input.vds);
953
+ result[@"pagesCount"] = @(input.pagesCount);
954
+
955
+ return result;
956
+ }
957
+
958
+ +(NSMutableDictionary* _Nonnull)generateRGLVDSNCData:(RGLVDSNCData* _Nullable)input {
959
+ NSMutableDictionary *result = [NSMutableDictionary new];
960
+ if(input == nil) return result;
961
+
962
+ result[@"type"] = input.type;
963
+ result[@"version"] = @(input.version);
964
+ result[@"issuingCountry"] = input.issuingCountry;
965
+ result[@"message"] = [self generateNSDictionary:input.message];
966
+ result[@"signatureAlgorithm"] = input.signatureAlgorithm;
967
+ result[@"signature"] = [self generateRGLBytesData:input.signature];
968
+ result[@"certificate"] = [self generateRGLBytesData:input.certificate];
969
+ if(input.certificateChain != nil){
970
+ NSMutableArray *array = [NSMutableArray new];
971
+ for(RGLCertificateChain* item in input.certificateChain)
972
+ if(item != nil)
973
+ [array addObject:[self generateRGLCertificateChain:item]];
974
+ result[@"certificateChain"] = array;
975
+ }
976
+ if(input.notifications != nil){
977
+ NSMutableArray *array = [NSMutableArray new];
978
+ for(NSNumber* item in input.notifications)
979
+ if(item != nil)
980
+ [array addObject:item];
981
+ result[@"notifications"] = array;
982
+ }
983
+
984
+ return result;
985
+ }
986
+
987
+ +(NSMutableDictionary* _Nonnull)generateRGLBytesData:(RGLBytesData* _Nullable)input {
988
+ NSMutableDictionary *result = [NSMutableDictionary new];
989
+ if(input == nil) return result;
990
+
991
+ result[@"data"] = input.data;
992
+ result[@"length"] = @(input.length);
993
+ result[@"status"] = @(input.status);
994
+ result[@"type"] = @(input.type);
995
+
996
+ return result;
997
+ }
998
+
907
999
  +(NSMutableDictionary* _Nonnull)generateRGLRFIDNotify:(RGLRFIDNotify* _Nullable)input {
908
1000
  NSMutableDictionary *result = [NSMutableDictionary new];
909
1001
  if(input == nil) return result;
@@ -19,5 +19,7 @@
19
19
  +(RGLePassportDataGroup*)RGLePassportDataGroupFromJson:(NSDictionary *) dict;
20
20
  +(RGLeIDDataGroup*)RGLeIDDataGroupFromJson:(NSDictionary*) dict;
21
21
  +(RGLeDLDataGroup*)RGLeDLDataGroupFromJson:(NSDictionary*) dict;
22
+ +(RGLImageQA*)ImageQAFromJson:(NSDictionary*) dict;
23
+ +(NSDictionary*)ImageQAToJson:(RGLImageQA*) input;
22
24
  @end
23
25
  #endif
@@ -284,6 +284,39 @@
284
284
  }
285
285
  }
286
286
 
287
+ +(RGLImageQA*)ImageQAFromJson:(NSDictionary*)dict {
288
+ RGLImageQA *image = [RGLImageQA new];
289
+
290
+ if([dict valueForKey:@"dpiThreshold"] != nil)
291
+ image.dpiThreshold = [dict valueForKey:@"dpiThreshold"];
292
+ if([dict valueForKey:@"angleThreshold"] != nil)
293
+ image.angleThreshold = [dict valueForKey:@"angleThreshold"];
294
+ if([dict valueForKey:@"focusCheck"] != nil)
295
+ image.focusCheck = [dict valueForKey:@"focusCheck"];
296
+ if([dict valueForKey:@"glaresCheck"] != nil)
297
+ image.glaresCheck = [dict valueForKey:@"glaresCheck"];
298
+ if([dict valueForKey:@"colornessCheck"] != nil)
299
+ image.colornessCheck = [dict valueForKey:@"colornessCheck"];
300
+ if([dict valueForKey:@"moireCheck"] != nil)
301
+ image.moireCheck = [dict valueForKey:@"moireCheck"];
302
+
303
+ return image;
304
+ }
305
+
306
+ +(NSDictionary*)ImageQAToJson:(RGLImageQA*)input {
307
+ NSMutableDictionary *result = [NSMutableDictionary new];
308
+ if(input == nil) return result;
309
+
310
+ result[@"dpiThreshold"] = input.dpiThreshold;
311
+ result[@"angleThreshold"] = input.angleThreshold;
312
+ result[@"focusCheck"] = input.focusCheck;
313
+ result[@"glaresCheck"] = input.glaresCheck;
314
+ result[@"colornessCheck"] = input.colornessCheck;
315
+ result[@"moireCheck"] = input.moireCheck;
316
+
317
+ return result;
318
+ }
319
+
287
320
  +(RGLePassportDataGroup*)RGLePassportDataGroupFromJson:(NSDictionary*)dict {
288
321
  RGLePassportDataGroup *group = [[RGLePassportDataGroup alloc] init];
289
322
 
@@ -570,17 +603,17 @@
570
603
 
571
604
  +(void)setProcessParams:(NSDictionary*)options :(RGLProcessParams*)processParams {
572
605
  if([options valueForKey:@"multipageProcessing"] != nil)
573
- processParams.multipageProcessing = [[options valueForKey:@"multipageProcessing"] boolValue];
606
+ processParams.multipageProcessing = [NSNumber numberWithBool:[[options valueForKey:@"multipageProcessing"] boolValue]];
574
607
  if([options valueForKey:@"dateFormat"] != nil)
575
608
  processParams.dateFormat = [options valueForKey:@"dateFormat"];
576
609
  if([options valueForKey:@"logs"] != nil)
577
- processParams.logs = [[options valueForKey:@"logs"] boolValue];
610
+ processParams.logs = [NSNumber numberWithBool:[[options valueForKey:@"logs"] boolValue]];
578
611
  if([options valueForKey:@"debugSaveImages"] != nil)
579
- processParams.debugSaveImages = [[options valueForKey:@"debugSaveImages"] boolValue];
612
+ processParams.debugSaveImages = [NSNumber numberWithBool:[[options valueForKey:@"debugSaveImages"] boolValue]];
580
613
  if([options valueForKey:@"debugSaveCroppedImages"] != nil)
581
- processParams.debugSaveCroppedImages = [[options valueForKey:@"debugSaveCroppedImages"] boolValue];
614
+ processParams.debugSaveCroppedImages = [NSNumber numberWithBool:[[options valueForKey:@"debugSaveCroppedImages"] boolValue]];
582
615
  if([options valueForKey:@"debugSaveLogs"] != nil)
583
- processParams.debugSaveLogs = [[options valueForKey:@"debugSaveLogs"] boolValue];
616
+ processParams.debugSaveLogs = [NSNumber numberWithBool:[[options valueForKey:@"debugSaveLogs"] boolValue]];
584
617
  if([options valueForKey:@"scenario"] != nil)
585
618
  processParams.scenario = [options valueForKey:@"scenario"];
586
619
  if([options valueForKey:@"barcodeTypes"] != nil)
@@ -590,43 +623,81 @@
590
623
  if([options valueForKey:@"fieldTypesFilter"] != nil)
591
624
  processParams.fieldTypesFilter = [options valueForKey:@"fieldTypesFilter"];
592
625
  if([options valueForKey:@"disableFocusingCheck"] != nil)
593
- processParams.disableFocusingCheck = [[options valueForKey:@"disableFocusingCheck"] boolValue];
626
+ processParams.disableFocusingCheck = [NSNumber numberWithBool:[[options valueForKey:@"disableFocusingCheck"] boolValue]];
594
627
  if([options valueForKey:@"captureButtonScenario"] != nil)
595
628
  processParams.captureButtonScenario = [options valueForKey:@"captureButtonScenario"];
596
- if([options valueForKey:@"sessionLogFolder"] != nil)
597
- [processParams setSessionLogFolder:[[options valueForKey:@"sessionLogFolder"] stringValue]];
598
629
  if([options valueForKey:@"measureSystem"] != nil)
599
630
  processParams.measureSystem = [[options valueForKey:@"measureSystem"] integerValue];
600
631
  if([options valueForKey:@"returnUncroppedImage"] != nil)
601
- processParams.returnUncroppedImage = [[options valueForKey:@"returnUncroppedImage"] boolValue];
632
+ processParams.returnUncroppedImage = [NSNumber numberWithBool:[[options valueForKey:@"returnUncroppedImage"] boolValue]];
602
633
  if([options valueForKey:@"customParams"] != nil)
603
634
  processParams.customParams = [options objectForKey:@"customParams"];
604
635
  if([options valueForKey:@"debugSaveRFIDSession"] != nil)
605
- processParams.debugSaveRFIDSession = [[options valueForKey:@"debugSaveRFIDSession"] boolValue];
636
+ processParams.debugSaveRFIDSession = [NSNumber numberWithBool:[[options valueForKey:@"debugSaveRFIDSession"] boolValue]];
606
637
  if([options valueForKey:@"doublePageSpread"] != nil)
607
- processParams.doublePageSpread = [[options valueForKey:@"doublePageSpread"] boolValue];
638
+ processParams.doublePageSpread = [NSNumber numberWithBool:[[options valueForKey:@"doublePageSpread"] boolValue]];
608
639
  if([options valueForKey:@"barcodeParserType"] != nil)
609
- processParams.barcodeParserType = [[options valueForKey:@"barcodeParserType"] integerValue];
640
+ processParams.barcodeParserType = [NSNumber numberWithInteger:[[options valueForKey:@"barcodeParserType"] integerValue]];
610
641
  if([options valueForKey:@"timeout"] != nil)
611
- processParams.timeout = [[options valueForKey:@"timeout"] doubleValue];
642
+ processParams.timeout = [NSNumber numberWithDouble:[[options valueForKey:@"timeout"] doubleValue]];
612
643
  if([options valueForKey:@"timeoutFromFirstDetect"] != nil)
613
- processParams.timeoutFromFirstDetect = [[options valueForKey:@"timeoutFromFirstDetect"] doubleValue];
644
+ processParams.timeoutFromFirstDetect = [NSNumber numberWithDouble:[[options valueForKey:@"timeoutFromFirstDetect"] doubleValue]];
614
645
  if([options valueForKey:@"timeoutFromFirstDocType"] != nil)
615
- processParams.timeoutFromFirstDocType = [[options valueForKey:@"timeoutFromFirstDocType"] doubleValue];
646
+ processParams.timeoutFromFirstDocType = [NSNumber numberWithDouble:[[options valueForKey:@"timeoutFromFirstDocType"] doubleValue]];
616
647
  if([options valueForKey:@"manualCrop"] != nil)
617
- processParams.manualCrop = [[options valueForKey:@"manualCrop"] boolValue];
648
+ processParams.manualCrop = [NSNumber numberWithBool:[[options valueForKey:@"manualCrop"] boolValue]];
618
649
  if([options valueForKey:@"perspectiveAngle"] != nil)
619
- processParams.perspectiveAngle = [[options valueForKey:@"perspectiveAngle"] integerValue];
650
+ processParams.perspectiveAngle = [NSNumber numberWithInteger:[[options valueForKey:@"perspectiveAngle"] integerValue]];
620
651
  if([options valueForKey:@"minDPI"] != nil)
621
- processParams.minDPI = [[options valueForKey:@"minDPI"] integerValue];
652
+ processParams.minDPI = [NSNumber numberWithInteger:[[options valueForKey:@"minDPI"] integerValue]];
622
653
  if([options valueForKey:@"integralImage"] != nil)
623
- processParams.integralImage = [[options valueForKey:@"integralImage"] boolValue];
654
+ processParams.integralImage = [NSNumber numberWithBool:[[options valueForKey:@"integralImage"] boolValue]];
624
655
  if([options valueForKey:@"returnCroppedBarcode"] != nil)
625
- processParams.returnCroppedBarcode = [[options valueForKey:@"returnCroppedBarcode"] boolValue];
656
+ processParams.returnCroppedBarcode = [NSNumber numberWithBool:[[options valueForKey:@"returnCroppedBarcode"] boolValue]];
626
657
  if([options valueForKey:@"checkHologram"] != nil)
627
- processParams.checkHologram = [[options valueForKey:@"checkHologram"] boolValue];
658
+ processParams.checkHologram = [NSNumber numberWithBool:[[options valueForKey:@"checkHologram"] boolValue]];
628
659
  if([options valueForKey:@"checkRequiredTextFields"] != nil)
629
- processParams.checkRequiredTextFields = [[options valueForKey:@"checkRequiredTextFields"] boolValue];
660
+ processParams.checkRequiredTextFields = [NSNumber numberWithBool:[[options valueForKey:@"checkRequiredTextFields"] boolValue]];
661
+ if([options valueForKey:@"depersonalizeLog"] != nil)
662
+ processParams.depersonalizeLog = [options valueForKey:@"depersonalizeLog"];
663
+ if([options valueForKey:@"resultTypeOutput"] != nil)
664
+ processParams.resultTypeOutput = [options valueForKey:@"resultTypeOutput"];
665
+ if([options valueForKey:@"generateDoublePageSpreadImage"] != nil)
666
+ processParams.generateDoublePageSpreadImage = [options valueForKey:@"generateDoublePageSpreadImage"];
667
+ if([options valueForKey:@"imageDpiOutMax"] != nil)
668
+ processParams.imageDpiOutMax = [options valueForKey:@"imageDpiOutMax"];
669
+ if([options valueForKey:@"alreadyCropped"] != nil)
670
+ processParams.alreadyCropped = [options valueForKey:@"alreadyCropped"];
671
+ if([options valueForKey:@"forceDocID"] != nil)
672
+ processParams.forceDocID = [options valueForKey:@"forceDocID"];
673
+ if([options valueForKey:@"matchTextFieldMask"] != nil)
674
+ processParams.matchTextFieldMask = [options valueForKey:@"matchTextFieldMask"];
675
+ if([options valueForKey:@"fastDocDetect"] != nil)
676
+ processParams.fastDocDetect = [options valueForKey:@"fastDocDetect"];
677
+ if([options valueForKey:@"updateOCRValidityByGlare"] != nil)
678
+ processParams.updateOCRValidityByGlare = [options valueForKey:@"updateOCRValidityByGlare"];
679
+ if([options valueForKey:@"imageQA"] != nil)
680
+ processParams.imageQA = [RegulaConfig ImageQAFromJson:[options valueForKey:@"imageQA"]];
681
+ if([options valueForKey:@"forceDocFormat"] != nil)
682
+ processParams.forceDocFormat = [options valueForKey:@"forceDocFormat"];
683
+ if([options valueForKey:@"noGraphics"] != nil)
684
+ processParams.noGraphics = [options valueForKey:@"noGraphics"];
685
+ if([options valueForKey:@"documentAreaMin"] != nil)
686
+ processParams.documentAreaMin = [options valueForKey:@"documentAreaMin"];
687
+ if([options valueForKey:@"multiDocOnImage"] != nil)
688
+ processParams.multiDocOnImage = [options valueForKey:@"multiDocOnImage"];
689
+ if([options valueForKey:@"shiftExpiryDate"] != nil)
690
+ processParams.shiftExpiryDate = [options valueForKey:@"shiftExpiryDate"];
691
+ if([options valueForKey:@"minimalHolderAge"] != nil)
692
+ processParams.minimalHolderAge = [options valueForKey:@"minimalHolderAge"];
693
+ if([options valueForKey:@"mrzFormatsFilter"] != nil)
694
+ processParams.mrzFormatsFilter = [options valueForKey:@"mrzFormatsFilter"];
695
+ if([options valueForKey:@"forceReadMrzBeforeLocate"] != nil)
696
+ processParams.forceReadMrzBeforeLocate = [options valueForKey:@"forceReadMrzBeforeLocate"];
697
+ if([options valueForKey:@"parseBarcodes"] != nil)
698
+ processParams.parseBarcodes = [options valueForKey:@"parseBarcodes"];
699
+ if([options valueForKey:@"shouldReturnPackageForReprocess"] != nil)
700
+ processParams.shouldReturnPackageForReprocess = [options valueForKey:@"shouldReturnPackageForReprocess"];
630
701
  }
631
702
 
632
703
  +(NSMutableDictionary *)getCustomization:(RGLCustomization*)customization {
@@ -745,20 +816,37 @@
745
816
  result[@"customParams"] = processParams.customParams;
746
817
  result[@"debugSaveRFIDSession"] = [NSNumber numberWithBool:processParams.debugSaveRFIDSession];
747
818
  result[@"doublePageSpread"] = [NSNumber numberWithBool:processParams.doublePageSpread];
748
- result[@"barcodeParserType"] = [NSNumber numberWithInteger:processParams.barcodeParserType];
749
- result[@"processParamsDictionary"] = [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:processParams.processParamsDictionary options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
750
- result[@"coreParamsDictionary"] = [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:processParams.coreParamsDictionary options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
751
- result[@"rfidParamsDictionary"] = [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:processParams.rfidParamsDictionary options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
752
- result[@"timeout"] = [NSNumber numberWithDouble:processParams.timeout];
753
- result[@"timeoutFromFirstDetect"] = [NSNumber numberWithDouble:processParams.timeoutFromFirstDetect];
754
- result[@"timeoutFromFirstDocType"] = [NSNumber numberWithDouble:processParams.timeoutFromFirstDocType];
819
+ result[@"barcodeParserType"] = processParams.barcodeParserType;
820
+ result[@"timeout"] = processParams.timeout;
821
+ result[@"timeoutFromFirstDetect"] = processParams.timeoutFromFirstDetect;
822
+ result[@"timeoutFromFirstDocType"] = processParams.timeoutFromFirstDocType;
755
823
  result[@"manualCrop"] = [NSNumber numberWithBool:processParams.manualCrop];
756
- result[@"perspectiveAngle"] = [NSNumber numberWithInteger:processParams.perspectiveAngle];
757
- result[@"minDPI"] = [NSNumber numberWithInteger:processParams.minDPI];
824
+ result[@"perspectiveAngle"] = processParams.perspectiveAngle;
825
+ result[@"minDPI"] = processParams.minDPI;
758
826
  result[@"integralImage"] = [NSNumber numberWithBool:processParams.integralImage];
759
827
  result[@"returnCroppedBarcode"] = [NSNumber numberWithBool:processParams.returnCroppedBarcode];
760
828
  result[@"checkHologram"] = [NSNumber numberWithBool:processParams.checkHologram];
761
829
  result[@"checkRequiredTextFields"] = [NSNumber numberWithBool:processParams.checkRequiredTextFields];
830
+ result[@"depersonalizeLog"] = processParams.depersonalizeLog;
831
+ result[@"resultTypeOutput"] = processParams.resultTypeOutput;
832
+ result[@"generateDoublePageSpreadImage"] = processParams.generateDoublePageSpreadImage;
833
+ result[@"imageDpiOutMax"] = processParams.imageDpiOutMax;
834
+ result[@"alreadyCropped"] = processParams.alreadyCropped;
835
+ result[@"forceDocID"] = processParams.forceDocID;
836
+ result[@"matchTextFieldMask"] = processParams.matchTextFieldMask;
837
+ result[@"fastDocDetect"] = processParams.fastDocDetect;
838
+ result[@"updateOCRValidityByGlare"] = processParams.updateOCRValidityByGlare;
839
+ result[@"imageQA"] = [RegulaConfig ImageQAToJson:processParams.imageQA];
840
+ result[@"forceDocFormat"] = processParams.forceDocFormat;
841
+ result[@"noGraphics"] = processParams.noGraphics;
842
+ result[@"documentAreaMin"] = processParams.documentAreaMin;
843
+ result[@"multiDocOnImage"] = processParams.multiDocOnImage;
844
+ result[@"shiftExpiryDate"] = processParams.shiftExpiryDate;
845
+ result[@"minimalHolderAge"] = processParams.minimalHolderAge;
846
+ result[@"mrzFormatsFilter"] = processParams.mrzFormatsFilter;
847
+ result[@"forceReadMrzBeforeLocate"] = processParams.forceReadMrzBeforeLocate;
848
+ result[@"parseBarcodes"] = processParams.parseBarcodes;
849
+ result[@"shouldReturnPackageForReprocess"] = processParams.shouldReturnPackageForReprocess;
762
850
 
763
851
  return result;
764
852
  }