@regulaforensics/cordova-plugin-document-reader-api 9.3.451-nightly → 9.3.453-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.
@@ -13,8 +13,8 @@
13
13
  "author": "Regula Forensics Inc.",
14
14
  "license": "commercial",
15
15
  "dependencies": {
16
- "@regulaforensics/cordova-plugin-document-reader-api": "9.3.451-nightly",
17
- "@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "9.3.2117-nightly",
16
+ "@regulaforensics/cordova-plugin-document-reader-api": "9.3.453-rc",
17
+ "@regulaforensics/cordova-plugin-document-reader-core-fullauthrfid": "9.3.2057-rc",
18
18
  "cordova-android": "13.0.0",
19
19
  "cordova-ios": "7.1.1",
20
20
  "cordova-plugin-add-swift-support": "2.0.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/cordova-plugin-document-reader-api",
3
- "version": "9.3.451-nightly",
3
+ "version": "9.3.453-rc",
4
4
  "description": "Cordova plugin for reading and validation of identification documents (API framework)",
5
5
  "cordova": {
6
6
  "id": "@regulaforensics/cordova-plugin-document-reader-api",
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="9.3.451-nightly" xmlns="http://apache.org/cordova/ns/plugins/1.0">
2
+ <plugin id="@regulaforensics/cordova-plugin-document-reader-api" version="9.3.453-rc" xmlns="http://apache.org/cordova/ns/plugins/1.0">
3
3
  <name>DocumentReaderApi</name>
4
4
  <description>Cordova plugin Document reader api</description>
5
5
  <license>commercial</license>
@@ -29,7 +29,7 @@
29
29
  <source url="https://github.com/CocoaPods/Specs.git"/>
30
30
  </config>
31
31
  <pods>
32
- <pod name="DocumentReaderNightly" spec="9.3.6105" />
32
+ <pod name="DocumentReaderStage" spec="9.3.6080" />
33
33
  </pods>
34
34
  </podspec>
35
35
  </platform>
@@ -2,15 +2,18 @@
2
2
 
3
3
  package com.regula.plugin.documentreader
4
4
 
5
+ import android.graphics.Matrix
5
6
  import android.graphics.Paint
6
7
  import android.graphics.Typeface
7
8
  import android.graphics.drawable.Drawable
8
9
  import android.text.SpannableString
9
10
  import android.widget.ImageView
10
- import androidx.core.content.ContextCompat
11
11
  import com.regula.documentreader.api.enums.CustomizationColor
12
12
  import com.regula.documentreader.api.enums.CustomizationFont
13
13
  import com.regula.documentreader.api.enums.CustomizationImage
14
+ import com.regula.documentreader.api.enums.CustomizationMatrix
15
+ import com.regula.documentreader.api.enums.CustomizationScaleType
16
+ import com.regula.documentreader.api.enums.CustomizationTiming
14
17
  import com.regula.documentreader.api.enums.LogLevel
15
18
  import com.regula.documentreader.api.params.AuthenticityParams
16
19
  import com.regula.documentreader.api.params.Functionality
@@ -147,6 +150,9 @@ fun setProcessParams(processParams: ProcessParam, opts: JSONObject) = opts.forEa
147
150
  "strictSecurityChecks" -> processParams.strictSecurityChecks = v as Boolean
148
151
  "returnTransliteratedFields" -> processParams.returnTransliteratedFields = v as Boolean
149
152
  "checkCaptureProcessIntegrity" -> processParams.checkCaptureProcessIntegrity = v as Boolean
153
+ "strictExpiryDate" -> processParams.strictExpiryDate = v as Boolean
154
+ "debugSaveBinarySession" -> processParams.debugSaveBinarySession = v as Boolean
155
+ "checkVDS" -> processParams.checkVDS = v as Boolean
150
156
  "measureSystem" -> processParams.measureSystem = v.toInt()
151
157
  "barcodeParserType" -> processParams.barcodeParserType = v.toInt()
152
158
  "perspectiveAngle" -> processParams.perspectiveAngle = v.toInt()
@@ -237,6 +243,9 @@ fun getProcessParams(processParams: ProcessParam) = mapOf(
237
243
  "strictSecurityChecks" to processParams.strictSecurityChecks,
238
244
  "returnTransliteratedFields" to processParams.returnTransliteratedFields,
239
245
  "checkCaptureProcessIntegrity" to processParams.checkCaptureProcessIntegrity,
246
+ "strictExpiryDate" to processParams.strictExpiryDate,
247
+ "debugSaveBinarySession" to processParams.debugSaveBinarySession,
248
+ "checkVDS" to processParams.checkVDS,
240
249
  "measureSystem" to processParams.measureSystem,
241
250
  "barcodeParserType" to processParams.barcodeParserType,
242
251
  "perspectiveAngle" to processParams.perspectiveAngle,
@@ -347,6 +356,8 @@ fun setCustomization(customization: ParamsCustomization, opts: JSONObject) = opt
347
356
  "colors" -> setColors(editor, v as JSONObject)
348
357
  "fonts" -> setFonts(editor, v as JSONObject)
349
358
  "images" -> setImages(editor, v as JSONObject)
359
+ "timings" -> setTimings(editor, v as JSONObject)
360
+ "matrices" -> setMatrices(editor, v as JSONObject)
350
361
  "statusTextFont" -> {
351
362
  val font = typefaceFromJSON(v as JSONObject)
352
363
  editor.setStatusTextFont(font.first)
@@ -436,7 +447,9 @@ fun getCustomization(customization: ParamsCustomization) = mapOf(
436
447
  "uiCustomizationLayer" to customization.uiCustomizationLayer,
437
448
  "colors" to getColors(customization.colors),
438
449
  "fonts" to getFonts(customization.typeFaces, customization.fontSizes),
439
- "images" to getImages(customization.images)
450
+ "images" to getImages(customization.images),
451
+ "timings" to getTimings(customization.timings),
452
+ "matrices" to getMatrices(customization.matrices),
440
453
  ).toJson()
441
454
 
442
455
  fun setRfidScenario(rfidScenario: RfidScenario, opts: JSONObject) = opts.forEach { k, v ->
@@ -755,31 +768,35 @@ fun getLivenessParams(input: LivenessParams?) = input?.let {
755
768
  ).toJson()
756
769
  }
757
770
 
758
- fun setColors(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { key, v ->
759
- val value = v.toLong()
760
- when (key) {
761
- "rfidProcessingScreenBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_BACKGROUND, value)
762
- "rfidProcessingScreenHintLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_HINT_LABEL_TEXT, value)
763
- "rfidProcessingScreenHintLabelBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_HINT_LABEL_BACKGROUND, value)
764
- "rfidProcessingScreenProgressLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_LABEL_TEXT, value)
765
- "rfidProcessingScreenProgressBar" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_BAR, value)
766
- "rfidProcessingScreenProgressBarBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_BAR_BACKGROUND, value)
767
- "rfidProcessingScreenResultLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_RESULT_LABEL_TEXT, value)
768
- "rfidProcessingScreenLoadingBar" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_LOADING_BAR, value)
769
- "rfidEnableNfcTitleText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_TITLE_TEXT, value)
770
- "rfidEnableNfcDescriptionText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_DESCRIPTION_TEXT, value)
771
- "rfidEnableNfcButtonText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_BUTTON_TEXT, value)
772
- "rfidEnableNfcButtonBackground" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_BUTTON_BACKGROUND, value)
773
- "mdlProcessingScreenBackground" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_BACKGROUND, value)
774
- "mdlProcessingScreenHintLabelText" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_TEXT, value)
775
- "mdlProcessingScreenHintLabelBackground" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_BACKGROUND, value)
776
- "mdlProcessingScreenProgressLabelText" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_PROGRESS_LABEL_TEXT, value)
777
- "mdlProcessingScreenResultLabelText" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_RESULT_LABEL_TEXT, value)
778
- "mdlProcessingScreenLoadingBar" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_LOADING_BAR, value)
779
- "mdlEnableNfcTitleText" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_TITLE_TEXT, value)
780
- "mdlEnableNfcDescriptionText" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_DESCRIPTION_TEXT, value)
781
- "mdlEnableNfcButtonText" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_TEXT, value)
782
- "mdlEnableNfcButtonBackground" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_BACKGROUND, value)
771
+ fun setColors(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { k, value ->
772
+ val v = value.toLong()
773
+ when (k) {
774
+ "rfidProcessingScreenBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_BACKGROUND, v)
775
+ "rfidProcessingScreenHintLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_HINT_LABEL_TEXT, v)
776
+ "rfidProcessingScreenHintLabelBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_HINT_LABEL_BACKGROUND, v)
777
+ "rfidProcessingScreenProgressLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_LABEL_TEXT, v)
778
+ "rfidProcessingScreenProgressBar" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_BAR, v)
779
+ "rfidProcessingScreenProgressBarBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_BAR_BACKGROUND, v)
780
+ "rfidProcessingScreenResultLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_RESULT_LABEL_TEXT, v)
781
+ "rfidProcessingScreenLoadingBar" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_LOADING_BAR, v)
782
+ "rfidEnableNfcTitleText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_TITLE_TEXT, v)
783
+ "rfidEnableNfcDescriptionText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_DESCRIPTION_TEXT, v)
784
+ "rfidEnableNfcButtonText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_BUTTON_TEXT, v)
785
+ "rfidEnableNfcButtonBackground" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_BUTTON_BACKGROUND, v)
786
+ "mdlProcessingScreenBackground" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_BACKGROUND, v)
787
+ "mdlProcessingScreenHintLabelText" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_TEXT, v)
788
+ "mdlProcessingScreenHintLabelBackground" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_HINT_LABEL_BACKGROUND, v)
789
+ "mdlProcessingScreenProgressLabelText" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_PROGRESS_LABEL_TEXT, v)
790
+ "mdlProcessingScreenResultLabelText" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_RESULT_LABEL_TEXT, v)
791
+ "mdlProcessingScreenLoadingBar" -> input.setColor(CustomizationColor.MDL_PROCESSING_SCREEN_LOADING_BAR, v)
792
+ "mdlEnableNfcTitleText" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_TITLE_TEXT, v)
793
+ "mdlEnableNfcDescriptionText" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_DESCRIPTION_TEXT, v)
794
+ "mdlEnableNfcButtonText" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_TEXT, v)
795
+ "mdlEnableNfcButtonBackground" -> input.setColor(CustomizationColor.MDL_ENABLE_NFC_BUTTON_BACKGROUND, v)
796
+ "nextPageIdCardFront" -> input.setColor(CustomizationColor.NEXT_PAGE_ID_CARD_FRONT, v)
797
+ "nextPageIdCardBack" -> input.setColor(CustomizationColor.NEXT_PAGE_ID_CARD_BACK, v)
798
+ "nextPagePassportShift" -> input.setColor(CustomizationColor.NEXT_PAGE_PASSPORT_SHIFT, v)
799
+ "nextPagePassportFlip" -> input.setColor(CustomizationColor.NEXT_PAGE_PASSPORT_FLIP, v)
783
800
  }
784
801
  }
785
802
 
@@ -806,22 +823,26 @@ fun getColors(input: Map<CustomizationColor, Long>) = mapOf(
806
823
  "mdlEnableNfcDescriptionText" to input[CustomizationColor.MDL_ENABLE_NFC_DESCRIPTION_TEXT],
807
824
  "mdlEnableNfcButtonText" to input[CustomizationColor.MDL_ENABLE_NFC_BUTTON_TEXT],
808
825
  "mdlEnableNfcButtonBackground" to input[CustomizationColor.MDL_ENABLE_NFC_BUTTON_BACKGROUND],
826
+ "nextPageIdCardFront" to input[CustomizationColor.NEXT_PAGE_ID_CARD_FRONT],
827
+ "nextPageIdCardBack" to input[CustomizationColor.NEXT_PAGE_ID_CARD_BACK],
828
+ "nextPagePassportShift" to input[CustomizationColor.NEXT_PAGE_PASSPORT_SHIFT],
829
+ "nextPagePassportFlip" to input[CustomizationColor.NEXT_PAGE_PASSPORT_FLIP],
809
830
  ).toJson()
810
831
 
811
- fun setFonts(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { key, value ->
812
- when (key) {
813
- "rfidProcessingScreenHintLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_HINT_LABEL.setFont(input, value)
814
- "rfidProcessingScreenProgressLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_PROGRESS_LABEL.setFont(input, value)
815
- "rfidProcessingScreenResultLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_RESULT_LABEL.setFont(input, value)
816
- "rfidEnableNfcTitleText" -> CustomizationFont.RFID_ENABLE_NFC_TITLE_TEXT.setFont(input, value)
817
- "rfidEnableNfcDescriptionText" -> CustomizationFont.RFID_ENABLE_NFC_DESCRIPTION_TEXT.setFont(input, value)
818
- "rfidEnableNfcButtonText" -> CustomizationFont.RFID_ENABLE_NFC_BUTTON_TEXT.setFont(input, value)
819
- "mdlProcessingScreenHintLabel" -> CustomizationFont.MDL_PROCESSING_SCREEN_HINT_LABEL.setFont(input, value)
820
- "mdlProcessingScreenProgressLabel" -> CustomizationFont.MDL_PROCESSING_SCREEN_PROGRESS_LABEL.setFont(input, value)
821
- "mdlProcessingScreenResultLabel" -> CustomizationFont.MDL_PROCESSING_SCREEN_RESULT_LABEL.setFont(input, value)
822
- "mdlEnableNfcTitleText" -> CustomizationFont.MDL_ENABLE_NFC_TITLE_TEXT.setFont(input, value)
823
- "mdlEnableNfcDescriptionText" -> CustomizationFont.MDL_ENABLE_NFC_DESCRIPTION_TEXT.setFont(input, value)
824
- "mdlEnableNfcButtonText" -> CustomizationFont.MDL_ENABLE_NFC_BUTTON_TEXT.setFont(input, value)
832
+ fun setFonts(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { k, v ->
833
+ when (k) {
834
+ "rfidProcessingScreenHintLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_HINT_LABEL.setFont(input, v)
835
+ "rfidProcessingScreenProgressLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_PROGRESS_LABEL.setFont(input, v)
836
+ "rfidProcessingScreenResultLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_RESULT_LABEL.setFont(input, v)
837
+ "rfidEnableNfcTitleText" -> CustomizationFont.RFID_ENABLE_NFC_TITLE_TEXT.setFont(input, v)
838
+ "rfidEnableNfcDescriptionText" -> CustomizationFont.RFID_ENABLE_NFC_DESCRIPTION_TEXT.setFont(input, v)
839
+ "rfidEnableNfcButtonText" -> CustomizationFont.RFID_ENABLE_NFC_BUTTON_TEXT.setFont(input, v)
840
+ "mdlProcessingScreenHintLabel" -> CustomizationFont.MDL_PROCESSING_SCREEN_HINT_LABEL.setFont(input, v)
841
+ "mdlProcessingScreenProgressLabel" -> CustomizationFont.MDL_PROCESSING_SCREEN_PROGRESS_LABEL.setFont(input, v)
842
+ "mdlProcessingScreenResultLabel" -> CustomizationFont.MDL_PROCESSING_SCREEN_RESULT_LABEL.setFont(input, v)
843
+ "mdlEnableNfcTitleText" -> CustomizationFont.MDL_ENABLE_NFC_TITLE_TEXT.setFont(input, v)
844
+ "mdlEnableNfcDescriptionText" -> CustomizationFont.MDL_ENABLE_NFC_DESCRIPTION_TEXT.setFont(input, v)
845
+ "mdlEnableNfcButtonText" -> CustomizationFont.MDL_ENABLE_NFC_BUTTON_TEXT.setFont(input, v)
825
846
  }
826
847
  }
827
848
 
@@ -840,20 +861,88 @@ fun getFonts(fonts: Map<CustomizationFont, Typeface>, sizes: Map<CustomizationFo
840
861
  "mdlEnableNfcButtonText" to CustomizationFont.MDL_ENABLE_NFC_BUTTON_TEXT.getFont(fonts, sizes),
841
862
  ).toJson()
842
863
 
843
- fun setImages(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { key, v ->
844
- when (key) {
864
+ fun setImages(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { k, v ->
865
+ when (k) {
866
+ "helpAnimation" -> input.setImage(CustomizationImage.HELP_ANIMATION, v.toDrawable())
867
+ "livenessAnimation" -> input.setImage(CustomizationImage.LIVENESS_ANIMATION, v.toDrawable())
868
+ "borderBackground" -> input.setImage(CustomizationImage.BORDER_BACKGROUND, v.toDrawable())
869
+ "torchButtonOn" -> input.setImage(CustomizationImage.TORCH_BUTTON_ON, v.toDrawable())
870
+ "torchButtonOff" -> input.setImage(CustomizationImage.TORCH_BUTTON_OFF, v.toDrawable())
871
+ "captureButton" -> input.setImage(CustomizationImage.CAPTURE_BUTTON, v.toDrawable())
872
+ "switchButton" -> input.setImage(CustomizationImage.SWITCH_BUTTON, v.toDrawable())
873
+ "closeButton" -> input.setImage(CustomizationImage.CLOSE_BUTTON, v.toDrawable())
874
+ "multipageButton" -> input.setImage(CustomizationImage.MULTIPAGE_BUTTON, v.toDrawable())
845
875
  "rfidProcessingScreenFailureImage" -> input.setImage(CustomizationImage.RFID_PROCESSING_SCREEN_FAILURE_IMAGE, v.toDrawable())
846
876
  "rfidEnableNfcImage" -> input.setImage(CustomizationImage.RFID_ENABLE_NFC_IMAGE, v.toDrawable())
877
+ "rfidDisableNfcImage" -> input.setImage(CustomizationImage.RFID_DISABLE_NFC_IMAGE, v.toDrawable())
847
878
  "mdlProcessingScreenFailureImage" -> input.setImage(CustomizationImage.MDL_PROCESSING_SCREEN_FAILURE_IMAGE, v.toDrawable())
848
879
  "mdlEnableNfcImage" -> input.setImage(CustomizationImage.MDL_ENABLE_NFC_IMAGE, v.toDrawable())
880
+ "mdlDisableNfcImage" -> input.setImage(CustomizationImage.MDL_DISABLE_NFC_IMAGE, v.toDrawable())
881
+ "nextPageIdCardFront" -> input.setImage(CustomizationImage.NEXT_PAGE_ID_CARD_FRONT, v.toDrawable())
882
+ "nextPageIdCardBack" -> input.setImage(CustomizationImage.NEXT_PAGE_ID_CARD_BACK, v.toDrawable())
883
+ "nextPagePassportShift" -> input.setImage(CustomizationImage.NEXT_PAGE_PASSPORT_SHIFT, v.toDrawable())
884
+ "nextPagePassportFlipStart" -> input.setImage(CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_START, v.toDrawable())
885
+ "nextPagePassportFlipClean" -> input.setImage(CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_CLEAN, v.toDrawable())
886
+ "nextPagePassportFlipTop" -> input.setImage(CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_TOP, v.toDrawable())
887
+ "nextPagePassportFlipBottom" -> input.setImage(CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_BOTTOM, v.toDrawable())
888
+ }
889
+ }
890
+
891
+ fun getImages(input: Map<String, Drawable>) = mapOf(
892
+ "helpAnimation" to input[CustomizationImage.HELP_ANIMATION.value].toBase64(),
893
+ "livenessAnimation" to input[CustomizationImage.LIVENESS_ANIMATION.value].toBase64(),
894
+ "borderBackground" to input[CustomizationImage.BORDER_BACKGROUND.value].toBase64(),
895
+ "torchButtonOn" to input[CustomizationImage.TORCH_BUTTON_ON.value].toBase64(),
896
+ "torchButtonOff" to input[CustomizationImage.TORCH_BUTTON_OFF.value].toBase64(),
897
+ "captureButton" to input[CustomizationImage.CAPTURE_BUTTON.value].toBase64(),
898
+ "switchButton" to input[CustomizationImage.SWITCH_BUTTON.value].toBase64(),
899
+ "closeButton" to input[CustomizationImage.CLOSE_BUTTON.value].toBase64(),
900
+ "multipageButton" to input[CustomizationImage.MULTIPAGE_BUTTON.value].toBase64(),
901
+ "rfidProcessingScreenFailureImage" to input[CustomizationImage.RFID_PROCESSING_SCREEN_FAILURE_IMAGE.value].toBase64(),
902
+ "rfidEnableNfcImage" to input[CustomizationImage.RFID_ENABLE_NFC_IMAGE.value].toBase64(),
903
+ "rfidDisableNfcImage" to input[CustomizationImage.RFID_DISABLE_NFC_IMAGE.value].toBase64(),
904
+ "mdlProcessingScreenFailureImage" to input[CustomizationImage.MDL_PROCESSING_SCREEN_FAILURE_IMAGE.value].toBase64(),
905
+ "mdlEnableNfcImage" to input[CustomizationImage.MDL_ENABLE_NFC_IMAGE.value].toBase64(),
906
+ "mdlDisableNfcImage" to input[CustomizationImage.MDL_DISABLE_NFC_IMAGE.value].toBase64(),
907
+ "nextPageIdCardFront" to input[CustomizationImage.NEXT_PAGE_ID_CARD_FRONT.value].toBase64(),
908
+ "nextPageIdCardBack" to input[CustomizationImage.NEXT_PAGE_ID_CARD_BACK.value].toBase64(),
909
+ "nextPagePassportShift" to input[CustomizationImage.NEXT_PAGE_PASSPORT_SHIFT.value].toBase64(),
910
+ "nextPagePassportFlipStart" to input[CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_START.value].toBase64(),
911
+ "nextPagePassportFlipClean" to input[CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_CLEAN.value].toBase64(),
912
+ "nextPagePassportFlipTop" to input[CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_TOP.value].toBase64(),
913
+ "nextPagePassportFlipBottom" to input[CustomizationImage.NEXT_PAGE_PASSPORT_FLIP_BOTTOM.value].toBase64(),
914
+ ).toJson()
915
+
916
+ fun setTimings(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { k, v ->
917
+ when (k) {
918
+ "nextPageIdCardStartDelay" -> input.setTiming(CustomizationTiming.NEXT_PAGE_ID_CARD_START_DELAY, v.toInt())
919
+ "nextPageIdCardEndDelay" -> input.setTiming(CustomizationTiming.NEXT_PAGE_ID_CARD_END_DELAY, v.toInt())
920
+ "nextPagePassportShiftStartDelay" -> input.setTiming(CustomizationTiming.NEXT_PAGE_PASSPORT_SHIFT_START_DELAY, v.toInt())
921
+ "nextPagePassportShiftEndDelay" -> input.setTiming(CustomizationTiming.NEXT_PAGE_PASSPORT_SHIFT_END_DELAY, v.toInt())
922
+ "nextPagePassportFlipStartDelay" -> input.setTiming(CustomizationTiming.NEXT_PAGE_PASSPORT_FLIP_START_DELAY, v.toInt())
923
+ "nextPagePassportFlipEndDelay" -> input.setTiming(CustomizationTiming.NEXT_PAGE_PASSPORT_FLIP_END_DELAY, v.toInt())
924
+ }
925
+ }
926
+
927
+ fun getTimings(input: Map<CustomizationTiming, Int>) = mapOf(
928
+ "nextPageIdCardStartDelay" to input[CustomizationTiming.NEXT_PAGE_ID_CARD_START_DELAY],
929
+ "nextPageIdCardEndDelay" to input[CustomizationTiming.NEXT_PAGE_ID_CARD_END_DELAY],
930
+ "nextPagePassportShiftStartDelay" to input[CustomizationTiming.NEXT_PAGE_PASSPORT_SHIFT_START_DELAY],
931
+ "nextPagePassportShiftEndDelay" to input[CustomizationTiming.NEXT_PAGE_PASSPORT_SHIFT_END_DELAY],
932
+ "nextPagePassportFlipStartDelay" to input[CustomizationTiming.NEXT_PAGE_PASSPORT_FLIP_START_DELAY],
933
+ "nextPagePassportFlipEndDelay" to input[CustomizationTiming.NEXT_PAGE_PASSPORT_FLIP_END_DELAY],
934
+ ).toJson()
935
+
936
+ fun setMatrices(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { k, v ->
937
+ when (k) {
938
+ "nextPageIdCardFront" -> input.setMatrix(CustomizationMatrix.NEXT_PAGE_ID_CARD_FRONT, matrixFromJSON(v as JSONArray?)).setScaleType(CustomizationScaleType.NEXT_PAGE_ID_CARD_FRONT, ImageView.ScaleType.MATRIX)
939
+ "nextPageIdCardBack" -> input.setMatrix(CustomizationMatrix.NEXT_PAGE_ID_CARD_BACK, matrixFromJSON(v as JSONArray?)).setScaleType(CustomizationScaleType.NEXT_PAGE_ID_CARD_BACK, ImageView.ScaleType.MATRIX)
849
940
  }
850
941
  }
851
942
 
852
- fun getImages(input: Map<CustomizationImage, Drawable>) = mapOf(
853
- "rfidProcessingScreenFailureImage" to (input[CustomizationImage.RFID_PROCESSING_SCREEN_FAILURE_IMAGE] ?: ContextCompat.getDrawable(context, com.regula.documentreader.api.R.drawable.reg_ic_error)).toBase64(),
854
- "rfidEnableNfcImage" to (input[CustomizationImage.RFID_ENABLE_NFC_IMAGE] ?: ContextCompat.getDrawable(context, com.regula.documentreader.api.R.drawable.reg_enable_nfc)).toBase64(),
855
- "mdlProcessingScreenFailureImage" to (input[CustomizationImage.MDL_PROCESSING_SCREEN_FAILURE_IMAGE] ?: ContextCompat.getDrawable(context, com.regula.documentreader.api.R.drawable.reg_enable_nfc)).toBase64(),
856
- "mdlEnableNfcImage" to (input[CustomizationImage.MDL_ENABLE_NFC_IMAGE] ?: ContextCompat.getDrawable(context, com.regula.documentreader.api.R.drawable.reg_enable_nfc)).toBase64(),
943
+ fun getMatrices(input: Map<CustomizationMatrix, Matrix>) = mapOf(
944
+ "nextPageIdCardFront" to generateMatrix(input[CustomizationMatrix.NEXT_PAGE_ID_CARD_FRONT]),
945
+ "nextPageIdCardBack" to generateMatrix(input[CustomizationMatrix.NEXT_PAGE_ID_CARD_BACK]),
857
946
  ).toJson()
858
947
 
859
948
  fun CustomizationFont.getFont(fonts: Map<CustomizationFont, Typeface>, sizes: Map<CustomizationFont, Int>) =
@@ -310,6 +310,7 @@ fun backendProcessingConfigFromJSON(input: JSONObject?) = input?.let {
310
310
  }
311
311
  result.rfidServerSideChipVerification = it.getBooleanOrNull("rfidServerSideChipVerification")
312
312
  result.timeoutConnection = it.getDoubleOrNull("timeoutConnection")
313
+ if (it.has("mdlVerification")) result.mdlVerification = it.getBoolean("mdlVerification")
313
314
  result
314
315
  }
315
316
 
@@ -322,7 +323,8 @@ fun generateBackendProcessingConfig(input: BackendProcessingConfig?) = input?.le
322
323
  val httpHeaders = JSONObject()
323
324
  for ((key, value) in it.httpHeaders!!) httpHeaders.put(key, value)
324
325
  httpHeaders
325
- }
326
+ },
327
+ "mdlVerification" to it.mdlVerification,
326
328
  ).toJson()
327
329
  }
328
330
 
@@ -916,18 +918,18 @@ fun generateCameraSize(width: Int?, height: Int?): JSONObject? {
916
918
  fun documentReaderDocumentTypeFromJSON(input: JSONObject?) = input?.let {
917
919
  val result = DocumentReaderDocumentType()
918
920
 
919
- result.pageIndex = it.optInt("pageIndex")
920
- result.documentID = it.optInt("documentID")
921
- result.dType = it.optInt("dType")
922
- result.dFormat = it.optInt("dFormat")
923
- result.dMRZ = it.optBoolean("dMRZ")
924
- result.isDeprecated = it.optBoolean("isDeprecated")
925
- result.name = it.optString("name")
926
- result.ICAOCode = it.optString("ICAOCode")
927
- result.dDescription = it.optString("dDescription")
928
- result.dCountryName = it.optString("dCountryName")
929
- result.dYear = it.optString("dYear")
930
- result.FDSID = it.optJSONArray("FDSID").toIntArray()
921
+ result.pageIndex = it.getInt("pageIndex")
922
+ result.documentID = it.getInt("documentID")
923
+ result.dType = it.getInt("dType")
924
+ result.dFormat = it.getInt("dFormat")
925
+ result.dMRZ = it.getBoolean("dMRZ")
926
+ result.isDeprecated = it.getBoolean("isDeprecated")
927
+ result.name = it.getStringOrNull("name")
928
+ result.ICAOCode = it.getStringOrNull("ICAOCode")
929
+ result.dDescription = it.getStringOrNull("dDescription")
930
+ result.dCountryName = it.getStringOrNull("dCountryName")
931
+ result.dYear = it.getStringOrNull("dYear")
932
+ result.FDSID = it.getJSONArrayOrNull("FDSID").toIntArray()
931
933
 
932
934
  result
933
935
  }
@@ -1451,7 +1453,7 @@ fun generateDocumentReaderAuthenticityElement(input: DocumentReaderAuthenticityE
1451
1453
  fun paResourcesIssuerFromJSON(input: JSONObject?) = input?.let {
1452
1454
  val result = PAResourcesIssuer()
1453
1455
  result.data = it.optString("data").toByteArray()
1454
- result.friendlyName = it.optString("friendlyName")
1456
+ result.friendlyName = it.getStringOrNull("friendlyName")
1455
1457
  result.attributes = it.optJSONArray("attributes").toArray(::paAttributeFromJSON)
1456
1458
  result
1457
1459
  }
@@ -1731,9 +1733,9 @@ fun generateDocumentReaderRFIDOrigin(input: DocumentReaderRfidOrigin?) = input?.
1731
1733
 
1732
1734
  fun documentReaderTextSourceFromJSON(input: JSONObject?) = input?.let {
1733
1735
  val result = DocumentReaderTextSource()
1734
- result.sourceType = it.optInt("sourceType")
1735
- result.source = it.optString("source")
1736
- result.validityStatus = it.optInt("validityStatus")
1736
+ result.sourceType = it.getInt("sourceType")
1737
+ result.source = it.getStringOrNull("source")
1738
+ result.validityStatus = it.getInt("validityStatus")
1737
1739
  result
1738
1740
  }
1739
1741
 
@@ -1875,7 +1877,7 @@ fun documentReaderResultsFromJSON(input: JSONObject?) = input?.let {
1875
1877
  result.mrzPosition = it.optJSONArray("mrzPosition").toList(::elementPositionFromJSON)!!
1876
1878
  result.imageQuality = it.optJSONArray("imageQuality").toList(::imageQualityGroupFromJSON)!!
1877
1879
  result.rawResult = it.optString("rawResult")
1878
- result.bsiTr03135Results = it.optString("bsiTr03135Results")
1880
+ result.bsiTr03135Results = it.getStringOrNull("bsiTr03135Results")
1879
1881
  result.rfidSessionData = rfidSessionDataFromJSON(it.optJSONObject("rfidSessionData"))
1880
1882
  result.authenticityResult = documentReaderAuthenticityResultFromJSON(it.optJSONObject("authenticityResult"))
1881
1883
  result.barcodeResult = documentReaderBarcodeResultFromJSON(it.optJSONObject("barcodeResult"))
@@ -2124,6 +2126,7 @@ fun finalizeConfigFromJSON(input: JSONObject?) = input?.let {
2124
2126
  if (it.has("rawImages")) result.setRawImages(it.getBoolean("rawImages"))
2125
2127
  if (it.has("video")) result.setVideo(it.getBoolean("video"))
2126
2128
  if (it.has("rfidSession")) result.setRfidSession(it.getBoolean("rfidSession"))
2129
+ if (it.has("mdlSession")) result.setMdlSession(it.getBoolean("mdlSession"))
2127
2130
  result.build()
2128
2131
  }
2129
2132
 
@@ -2131,6 +2134,7 @@ fun generateFinalizeConfig(input: FinalizeConfig?) = input?.let {
2131
2134
  mapOf(
2132
2135
  "rawImages" to it.getPrivateProperty("rawImages"),
2133
2136
  "video" to it.getPrivateProperty("video"),
2134
- "rfidSession" to it.getPrivateProperty("rfidSession")
2137
+ "rfidSession" to it.getPrivateProperty("rfidSession"),
2138
+ "mdlSession" to it.getPrivateProperty("mdlSession"),
2135
2139
  ).toJson()
2136
2140
  }
@@ -73,7 +73,7 @@ fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
73
73
  "initialize" -> initialize(callback, args(0))
74
74
  "initializeReader" -> initialize(callback, args(0)) // deprecated
75
75
  "initializeReaderWithBleDeviceConfig" -> initializeReaderWithBleDeviceConfig(callback, args(0)) // deprecated
76
- "deinitialize" -> deinitialize()
76
+ "deinitializeReader" -> deinitializeReader()
77
77
  "prepareDatabase" -> prepareDatabase(callback, args(0))
78
78
  "removeDatabase" -> removeDatabase(callback)
79
79
  "runAutoUpdate" -> runAutoUpdate(callback, args(0))
@@ -205,7 +205,7 @@ fun initialize(callback: Callback, config: JSONObject) =
205
205
  // deprecated
206
206
  fun initializeReaderWithBleDeviceConfig(callback: Callback, config: JSONObject) = Instance().initializeReader(context, initBleDeviceConfigFromJSON(config), initCompletion(callback))
207
207
 
208
- fun deinitialize() = Instance().deinitializeReader()
208
+ fun deinitializeReader() = Instance().deinitializeReader()
209
209
 
210
210
  fun prepareDatabase(callback: Callback, databaseID: String) = Instance().prepareDatabase(
211
211
  context,
@@ -157,6 +157,11 @@ fun JSONObject.getStringOrNull(name: String): String? {
157
157
  return null
158
158
  }
159
159
 
160
+ fun JSONObject.getJSONArrayOrNull(name: String): JSONArray? {
161
+ if (has(name) && get(name).toString() != "null") return getJSONArray(name)
162
+ return null
163
+ }
164
+
160
165
  fun <T : Any> KClass<T>.constructor(vararg argTypes: KClass<*>): Constructor<T> {
161
166
  val types = mutableListOf<Class<*>>()
162
167
  for (argType in argTypes) types.add(argType.java)
@@ -1,12 +1,12 @@
1
1
  repositories {
2
2
  maven {
3
- url "https://maven.regulaforensics.com/RegulaDocumentReader/Nightly"
3
+ url "https://maven.regulaforensics.com/RegulaDocumentReader/Stage"
4
4
  }
5
5
  }
6
6
 
7
7
  dependencies {
8
8
  //noinspection GradleDependency
9
- implementation ('com.regula.documentreader:api:9.3.12627'){
9
+ implementation ('com.regula.documentreader:api:9.2.12629'){
10
10
  transitive = true
11
11
  }
12
12
  }
@@ -194,7 +194,10 @@
194
194
  if (options[@"strictSecurityChecks"]) processParams.strictSecurityChecks = options[@"strictSecurityChecks"];
195
195
  if (options[@"returnTransliteratedFields"]) processParams.returnTransliteratedFields = options[@"returnTransliteratedFields"];
196
196
  if (options[@"checkCaptureProcessIntegrity"]) processParams.checkCaptureProcessIntegrity = options[@"checkCaptureProcessIntegrity"];
197
-
197
+ if (options[@"strictExpiryDate"]) processParams.strictExpiryDate = options[@"strictExpiryDate"];
198
+ if (options[@"debugSaveBinarySession"]) processParams.debugSaveBinarySession = options[@"debugSaveBinarySession"];
199
+ if (options[@"checkVDS"]) processParams.checkVDS = options[@"checkVDS"];
200
+
198
201
  // Int
199
202
  if([options valueForKey:@"measureSystem"] != nil)
200
203
  processParams.measureSystem = [[options valueForKey:@"measureSystem"] integerValue];
@@ -225,7 +228,7 @@
225
228
  if(options[@"logLevel"]) processParams.logLevel = options[@"logLevel"];
226
229
  if(options[@"mrzDetectMode"]) processParams.mrzDetectMode = options[@"mrzDetectMode"];
227
230
  if(options[@"pdfPagesLimit"]) processParams.pdfPagesLimit = options[@"pdfPagesLimit"];
228
-
231
+
229
232
  // String
230
233
  if([options valueForKey:@"dateFormat"] != nil)
231
234
  processParams.dateFormat = [options valueForKey:@"dateFormat"];
@@ -233,7 +236,7 @@
233
236
  processParams.scenario = [options valueForKey:@"scenario"];
234
237
  if([options valueForKey:@"captureButtonScenario"] != nil)
235
238
  processParams.captureButtonScenario = [options valueForKey:@"captureButtonScenario"];
236
-
239
+
237
240
  // Double
238
241
  if([options valueForKey:@"timeout"] != nil)
239
242
  processParams.timeout = [options valueForKey:@"timeout"];
@@ -245,7 +248,7 @@
245
248
  processParams.documentAreaMin = [options valueForKey:@"documentAreaMin"];
246
249
  if([options valueForKey:@"timeoutLiveness"] != nil)
247
250
  processParams.timeoutLiveness = [options valueForKey:@"timeoutLiveness"];
248
-
251
+
249
252
  // JSONArray
250
253
  if([options valueForKey:@"documentIDList"] != nil)
251
254
  processParams.documentIDList = [options valueForKey:@"documentIDList"];
@@ -263,7 +266,7 @@
263
266
  processParams.lcidIgnoreFilter = [options mutableArrayValueForKey:@"lcidIgnoreFilter"];
264
267
  if (options[@"lcidFilter"]) processParams.lcidFilter = options[@"lcidFilter"];
265
268
  if (options[@"fieldTypesIgnoreFilter"]) processParams.fieldTypesIgnoreFilter = options[@"fieldTypesIgnoreFilter"];
266
-
269
+
267
270
  // JSONObject
268
271
  if (options[@"customParams"]) processParams.customParams = options[@"customParams"];
269
272
  if ([options valueForKey:@"imageQA"] != nil)
@@ -283,7 +286,7 @@
283
286
 
284
287
  +(NSDictionary*)getProcessParams:(RGLProcessParams*)processParams {
285
288
  NSMutableDictionary *result = [NSMutableDictionary new];
286
-
289
+
287
290
  // Boolean
288
291
  result[@"multipageProcessing"] = processParams.multipageProcessing;
289
292
  result[@"logs"] = processParams.logs;
@@ -326,6 +329,9 @@
326
329
  result[@"strictSecurityChecks"] = processParams.strictSecurityChecks;
327
330
  result[@"returnTransliteratedFields"] = processParams.returnTransliteratedFields;
328
331
  result[@"checkCaptureProcessIntegrity"] = processParams.checkCaptureProcessIntegrity;
332
+ result[@"strictExpiryDate"] = processParams.strictExpiryDate;
333
+ result[@"debugSaveBinarySession"] = processParams.debugSaveBinarySession;
334
+ result[@"checkVDS"] = processParams.checkVDS;
329
335
 
330
336
  // Int
331
337
  result[@"measureSystem"] = [NSNumber numberWithInteger:processParams.measureSystem];
@@ -518,13 +524,12 @@
518
524
  customization.livenessAnimationImageContentMode = [self viewContentModeWithNumber:[options valueForKey:@"livenessAnimationImageContentMode"]];
519
525
  if([options valueForKey:@"borderBackgroundImageContentMode"] != nil)
520
526
  customization.borderBackgroundImageContentMode = [self viewContentModeWithNumber:[options valueForKey:@"borderBackgroundImageContentMode"]];
521
-
522
- if([options valueForKey:@"colors"] != nil)
523
- [self setColors:[customization.uiConfiguration valueForKey:@"colors"] input:[options valueForKey:@"colors"]];
524
- if([options valueForKey:@"fonts"] != nil)
525
- [self setFonts:[customization.uiConfiguration valueForKey:@"fonts"] input:[options valueForKey:@"fonts"]];
526
- if([options valueForKey:@"images"] != nil)
527
- [self setImages:[customization.uiConfiguration valueForKey:@"images"] input:[options valueForKey:@"images"]];
527
+
528
+ if(options[@"colors"]) [self setColors:[customization.uiConfiguration valueForKey:@"colors"] input:options[@"colors"]];
529
+ if(options[@"fonts"]) [self setFonts:[customization.uiConfiguration valueForKey:@"fonts"] input:options[@"fonts"]];
530
+ if(options[@"images"]) [self setImages:[customization.uiConfiguration valueForKey:@"images"] input:options[@"images"]];
531
+ if(options[@"timings"]) [self setTimings:[customization.uiConfiguration valueForKey:@"timings"] input:options[@"timings"]];
532
+ if(options[@"contentModes"]) [self setContentModes:[customization.uiConfiguration valueForKey:@"contentModes"] input:options[@"contentModes"]];
528
533
  }
529
534
 
530
535
  +(NSDictionary*)getCustomization:(RGLCustomization*)customization {
@@ -615,6 +620,8 @@
615
620
  result[@"colors"] = [self getColors: [customization.uiConfiguration valueForKey:@"colors"]];
616
621
  result[@"fonts"] = [self getFonts: [customization.uiConfiguration valueForKey:@"fonts"]];
617
622
  result[@"images"] = [self getImages: [customization.uiConfiguration valueForKey:@"images"]];
623
+ result[@"timings"] = [self getTimings: [customization.uiConfiguration valueForKey:@"timings"]];
624
+ result[@"contentModes"] = [self getContentModes: [customization.uiConfiguration valueForKey:@"contentModes"]];
618
625
 
619
626
  return result;
620
627
  }
@@ -1097,25 +1104,35 @@
1097
1104
  if(input[@"mdlProcessingScreenProgressLabelText"]) result[@(MDLProcessingScreenProgressLabelText)] = [self colorWithInt:input[@"mdlProcessingScreenProgressLabelText"]];
1098
1105
  if(input[@"mdlProcessingScreenResultLabelText"]) result[@(MDLProcessingScreenResultLabelText)] = [self colorWithInt:input[@"mdlProcessingScreenResultLabelText"]];
1099
1106
  if(input[@"mdlProcessingScreenLoadingBar"]) result[@(MDLProcessingScreenLoadingBar)] = [self colorWithInt:input[@"mdlProcessingScreenLoadingBar"]];
1107
+ if(input[@"nextPageIdCardFront"]) result[@(RGLCustomizationColorNextPageIdCardFront)] = [self colorWithInt:input[@"nextPageIdCardFront"]];
1108
+ if(input[@"nextPageIdCardBack"]) result[@(RGLCustomizationColorNextPageIdCardBack)] = [self colorWithInt:input[@"nextPageIdCardBack"]];
1109
+ if(input[@"nextPagePassportShift"]) result[@(RGLCustomizationColorNextPagePassportShift)] = [self colorWithInt:input[@"nextPagePassportShift"]];
1110
+ if(input[@"nextPagePassportFlip"]) result[@(RGLCustomizationColorNextPagePassportFlip)] = [self colorWithInt:input[@"nextPagePassportFlip"]];
1100
1111
  }
1101
1112
 
1102
1113
  +(NSDictionary*)getColors:(NSDictionary*)input {
1103
- return @{
1104
- @"rfidProcessingScreenBackground": [self intWithColor:input[@(RFIDProcessingScreenBackground)]],
1105
- @"rfidProcessingScreenHintLabelText": [self intWithColor:input[@(RFIDProcessingScreenHintLabelText)]],
1106
- @"rfidProcessingScreenHintLabelBackground": [self intWithColor:input[@(RFIDProcessingScreenHintLabelBackground)]],
1107
- @"rfidProcessingScreenProgressLabelText": [self intWithColor:input[@(RFIDProcessingScreenProgressLabelText)]],
1108
- @"rfidProcessingScreenProgressBar": [self intWithColor:input[@(RFIDProcessingScreenProgressBar)]],
1109
- @"rfidProcessingScreenProgressBarBackground": [self intWithColor:input[@(RFIDProcessingScreenProgressBarBackground)]],
1110
- @"rfidProcessingScreenResultLabelText": [self intWithColor:input[@(RFIDProcessingScreenResultLabelText)]],
1111
- @"rfidProcessingScreenLoadingBar": [self intWithColor:input[@(RFIDProcessingScreenLoadingBar)]],
1112
- @"mdlProcessingScreenBackground": [self intWithColor:input[@(MDLProcessingScreenBackground)]],
1113
- @"mdlProcessingScreenHintLabelText": [self intWithColor:input[@(MDLProcessingScreenHintLabelText)]],
1114
- @"mdlProcessingScreenHintLabelBackground": [self intWithColor:input[@(MDLProcessingScreenHintLabelBackground)]],
1115
- @"mdlProcessingScreenProgressLabelText": [self intWithColor:input[@(MDLProcessingScreenProgressLabelText)]],
1116
- @"mdlProcessingScreenResultLabelText": [self intWithColor:input[@(MDLProcessingScreenResultLabelText)]],
1117
- @"mdlProcessingScreenLoadingBar": [self intWithColor:input[@(MDLProcessingScreenLoadingBar)]],
1118
- };
1114
+ id result = @{}.mutableCopy;
1115
+
1116
+ if(input[@(RFIDProcessingScreenBackground)]) result[@"rfidProcessingScreenBackground"] = [self intWithColor:input[@(RFIDProcessingScreenBackground)]];
1117
+ if(input[@(RFIDProcessingScreenHintLabelText)]) result[@"rfidProcessingScreenHintLabelText"] = [self intWithColor:input[@(RFIDProcessingScreenHintLabelText)]];
1118
+ if(input[@(RFIDProcessingScreenHintLabelBackground)]) result[@"rfidProcessingScreenHintLabelBackground"] = [self intWithColor:input[@(RFIDProcessingScreenHintLabelBackground)]];
1119
+ if(input[@(RFIDProcessingScreenProgressLabelText)]) result[@"rfidProcessingScreenProgressLabelText"] = [self intWithColor:input[@(RFIDProcessingScreenProgressLabelText)]];
1120
+ if(input[@(RFIDProcessingScreenProgressBar)]) result[@"rfidProcessingScreenProgressBar"] = [self intWithColor:input[@(RFIDProcessingScreenProgressBar)]];
1121
+ if(input[@(RFIDProcessingScreenProgressBarBackground)]) result[@"rfidProcessingScreenProgressBarBackground"] = [self intWithColor:input[@(RFIDProcessingScreenProgressBarBackground)]];
1122
+ if(input[@(RFIDProcessingScreenResultLabelText)]) result[@"rfidProcessingScreenResultLabelText"] = [self intWithColor:input[@(RFIDProcessingScreenResultLabelText)]];
1123
+ if(input[@(RFIDProcessingScreenLoadingBar)]) result[@"rfidProcessingScreenLoadingBar"] = [self intWithColor:input[@(RFIDProcessingScreenLoadingBar)]];
1124
+ if(input[@(MDLProcessingScreenBackground)]) result[@"mdlProcessingScreenBackground"] = [self intWithColor:input[@(MDLProcessingScreenBackground)]];
1125
+ if(input[@(MDLProcessingScreenHintLabelText)]) result[@"mdlProcessingScreenHintLabelText"] = [self intWithColor:input[@(MDLProcessingScreenHintLabelText)]];
1126
+ if(input[@(MDLProcessingScreenHintLabelBackground)]) result[@"mdlProcessingScreenHintLabelBackground"] = [self intWithColor:input[@(MDLProcessingScreenHintLabelBackground)]];
1127
+ if(input[@(MDLProcessingScreenProgressLabelText)]) result[@"mdlProcessingScreenProgressLabelText"] = [self intWithColor:input[@(MDLProcessingScreenProgressLabelText)]];
1128
+ if(input[@(MDLProcessingScreenResultLabelText)]) result[@"mdlProcessingScreenResultLabelText"] = [self intWithColor:input[@(MDLProcessingScreenResultLabelText)]];
1129
+ if(input[@(MDLProcessingScreenLoadingBar)]) result[@"mdlProcessingScreenLoadingBar"] = [self intWithColor:input[@(MDLProcessingScreenLoadingBar)]];
1130
+ if(input[@(RGLCustomizationColorNextPageIdCardFront)]) result[@"nextPageIdCardFront"] = [self intWithColor:input[@(RGLCustomizationColorNextPageIdCardFront)]];
1131
+ if(input[@(RGLCustomizationColorNextPageIdCardBack)]) result[@"nextPageIdCardBack"] = [self intWithColor:input[@(RGLCustomizationColorNextPageIdCardBack)]];
1132
+ if(input[@(RGLCustomizationColorNextPagePassportShift)]) result[@"nextPagePassportShift"] = [self intWithColor:input[@(RGLCustomizationColorNextPagePassportShift)]];
1133
+ if(input[@(RGLCustomizationColorNextPagePassportFlip)]) result[@"nextPagePassportFlip"] = [self intWithColor:input[@(RGLCustomizationColorNextPagePassportFlip)]];
1134
+
1135
+ return result;
1119
1136
  }
1120
1137
 
1121
1138
  +(void)setFonts:(NSMutableDictionary*)result input:(NSDictionary*)input {
@@ -1130,25 +1147,119 @@
1130
1147
  }
1131
1148
 
1132
1149
  +(NSDictionary*)getFonts:(NSDictionary*)input {
1133
- return @{
1134
- @"rfidProcessingScreenHintLabel": [self generateUIFont:input[@(RFIDProcessingScreenHintLabel)]],
1135
- @"rfidProcessingScreenProgressLabel": [self generateUIFont:input[@(RFIDProcessingScreenProgressLabel)]],
1136
- @"rfidProcessingScreenResultLabel": [self generateUIFont:input[@(RFIDProcessingScreenResultLabel)]],
1137
- @"mdlProcessingScreenHintLabel": [self generateUIFont:input[@(MDLProcessingScreenHintLabel)]],
1138
- @"mdlProcessingScreenProgressLabel": [self generateUIFont:input[@(MDLProcessingScreenProgressLabel)]],
1139
- @"mdlProcessingScreenResultLabel": [self generateUIFont:input[@(MDLProcessingScreenResultLabel)]],
1150
+ return @{
1151
+ @"rfidProcessingScreenHintLabel": [self generateUIFont:input[@(RFIDProcessingScreenHintLabel)]],
1152
+ @"rfidProcessingScreenProgressLabel": [self generateUIFont:input[@(RFIDProcessingScreenProgressLabel)]],
1153
+ @"rfidProcessingScreenResultLabel": [self generateUIFont:input[@(RFIDProcessingScreenResultLabel)]],
1154
+ @"mdlProcessingScreenHintLabel": [self generateUIFont:input[@(MDLProcessingScreenHintLabel)]],
1155
+ @"mdlProcessingScreenProgressLabel": [self generateUIFont:input[@(MDLProcessingScreenProgressLabel)]],
1156
+ @"mdlProcessingScreenResultLabel": [self generateUIFont:input[@(MDLProcessingScreenResultLabel)]],
1140
1157
  };
1141
1158
  }
1142
1159
 
1143
1160
  +(void)setImages:(NSMutableDictionary*)result input:(NSDictionary*)input {
1144
- if(input[@"rfidProcessingScreenFailureImage"]) result[@(RFIDProcessingScreenFailureImage)] = [RGLWJSONConstructor imageWithBase64:input[@"rfidProcessingScreenFailureImage"]];
1145
- if(input[@"mdlProcessingScreenFailureImage"]) result[@(MDLProcessingScreenFailureImage)] = [RGLWJSONConstructor imageWithBase64:input[@"mdlProcessingScreenFailureImage"]];
1161
+ if(input[@"helpAnimation"]) result[RGLCustomizationImageHelpAnimation] = [RGLWJSONConstructor imageWithBase64:input[@"helpAnimation"]];
1162
+ if(input[@"livenessAnimation"]) result[RGLCustomizationImageLivenessAnimation] = [RGLWJSONConstructor imageWithBase64:input[@"livenessAnimation"]];
1163
+ if(input[@"borderBackground"]) result[RGLCustomizationImageBorderBackground] = [RGLWJSONConstructor imageWithBase64:input[@"borderBackground"]];
1164
+ if(input[@"torchButtonOn"]) result[RGLCustomizationImageTorchButtonOn] = [RGLWJSONConstructor imageWithBase64:input[@"torchButtonOn"]];
1165
+ if(input[@"torchButtonOff"]) result[RGLCustomizationImageTorchButtonOff] = [RGLWJSONConstructor imageWithBase64:input[@"torchButtonOff"]];
1166
+ if(input[@"captureButton"]) result[RGLCustomizationImageCaptureButton] = [RGLWJSONConstructor imageWithBase64:input[@"captureButton"]];
1167
+ if(input[@"switchButton"]) result[RGLCustomizationImageSwitchButton] = [RGLWJSONConstructor imageWithBase64:input[@"switchButton"]];
1168
+ if(input[@"closeButton"]) result[RGLCustomizationImageCloseButton] = [RGLWJSONConstructor imageWithBase64:input[@"closeButton"]];
1169
+ if(input[@"multipageButton"]) result[RGLCustomizationImageMultipageButton] = [RGLWJSONConstructor imageWithBase64:input[@"multipageButton"]];
1170
+ if(input[@"rfidProcessingScreenFailureImage"]) result[RGLCustomizationImageRFIDProcessingScreenFailure] = [RGLWJSONConstructor imageWithBase64:input[@"rfidProcessingScreenFailureImage"]];
1171
+ if(input[@"mdlProcessingScreenFailureImage"]) result[RGLCustomizationImageMDLProcessingScreenFailure] = [RGLWJSONConstructor imageWithBase64:input[@"mdlProcessingScreenFailureImage"]];
1172
+ if(input[@"nextPageIdCardFront"]) result[RGLCustomizationImageNextPageIdCardFront] = [RGLWJSONConstructor imageWithBase64:input[@"nextPageIdCardFront"]];
1173
+ if(input[@"nextPageIdCardBack"]) result[RGLCustomizationImageNextPageIdCardBack] = [RGLWJSONConstructor imageWithBase64:input[@"nextPageIdCardBack"]];
1174
+ if(input[@"nextPagePassportShift"]) result[RGLCustomizationImageNextPagePassportShift] = [RGLWJSONConstructor imageWithBase64:input[@"nextPagePassportShift"]];
1175
+ if(input[@"nextPagePassportFlipStart"]) result[RGLCustomizationImageNextPagePassportFlipStart] = [RGLWJSONConstructor imageWithBase64:input[@"nextPagePassportFlipStart"]];
1176
+ if(input[@"nextPagePassportFlipClean"]) result[RGLCustomizationImageNextPagePassportFlipClean] = [RGLWJSONConstructor imageWithBase64:input[@"nextPagePassportFlipClean"]];
1177
+ if(input[@"nextPagePassportFlipTop"]) result[RGLCustomizationImageNextPagePassportFlipTop] = [RGLWJSONConstructor imageWithBase64:input[@"nextPagePassportFlipTop"]];
1178
+ if(input[@"nextPagePassportFlipBottom"]) result[RGLCustomizationImageNextPagePassportFlipBottom] = [RGLWJSONConstructor imageWithBase64:input[@"nextPagePassportFlipBottom"]];
1146
1179
  }
1147
1180
 
1148
1181
  +(NSDictionary*)getImages:(NSDictionary*)input {
1149
- return @{
1150
- @"rfidProcessingScreenFailureImage": [RGLWJSONConstructor base64WithImage:input[@(RFIDProcessingScreenFailureImage)]],
1151
- @"mdlProcessingScreenFailureImage": [RGLWJSONConstructor base64WithImage:input[@(MDLProcessingScreenFailureImage)]],
1182
+ id result = @{}.mutableCopy;
1183
+ id i;
1184
+
1185
+ i = RGLCustomizationImageHelpAnimation;
1186
+ if(input[i]) result[@"helpAnimation"] = [RGLWJSONConstructor base64WithImage:input[i]];
1187
+ i = RGLCustomizationImageLivenessAnimation;
1188
+ if(input[i]) result[@"livenessAnimation"] = [RGLWJSONConstructor base64WithImage:input[i]];
1189
+ i = RGLCustomizationImageBorderBackground;
1190
+ if(input[i]) result[@"borderBackground"] = [RGLWJSONConstructor base64WithImage:input[i]];
1191
+ i = RGLCustomizationImageTorchButtonOn;
1192
+ if(input[i]) result[@"torchButtonOn"] = [RGLWJSONConstructor base64WithImage:input[i]];
1193
+ i = RGLCustomizationImageTorchButtonOff;
1194
+ if(input[i]) result[@"torchButtonOff"] = [RGLWJSONConstructor base64WithImage:input[i]];
1195
+ i = RGLCustomizationImageCaptureButton;
1196
+ if(input[i]) result[@"captureButton"] = [RGLWJSONConstructor base64WithImage:input[i]];
1197
+ i = RGLCustomizationImageSwitchButton;
1198
+ if(input[i]) result[@"switchButton"] = [RGLWJSONConstructor base64WithImage:input[i]];
1199
+ i = RGLCustomizationImageCloseButton;
1200
+ if(input[i]) result[@"closeButton"] = [RGLWJSONConstructor base64WithImage:input[i]];
1201
+ i = RGLCustomizationImageMultipageButton;
1202
+ if(input[i]) result[@"multipageButton"] = [RGLWJSONConstructor base64WithImage:input[i]];
1203
+ i = RGLCustomizationImageRFIDProcessingScreenFailure;
1204
+ if(input[i]) result[@"rfidProcessingScreenFailureImage"] = [RGLWJSONConstructor base64WithImage:input[i]];
1205
+ i = RGLCustomizationImageMDLProcessingScreenFailure;
1206
+ if(input[i]) result[@"mdlProcessingScreenFailureImage"] = [RGLWJSONConstructor base64WithImage:input[i]];
1207
+ i = RGLCustomizationImageNextPageIdCardFront;
1208
+ if(input[i]) result[@"nextPageIdCardFront"] = [RGLWJSONConstructor base64WithImage:input[i]];
1209
+ i = RGLCustomizationImageNextPageIdCardBack;
1210
+ if(input[i]) result[@"nextPageIdCardBack"] = [RGLWJSONConstructor base64WithImage:input[i]];
1211
+ i = RGLCustomizationImageNextPagePassportShift;
1212
+ if(input[i]) result[@"nextPagePassportShift"] = [RGLWJSONConstructor base64WithImage:input[i]];
1213
+ i = RGLCustomizationImageNextPagePassportFlipStart;
1214
+ if(input[i]) result[@"nextPagePassportFlipStart"] = [RGLWJSONConstructor base64WithImage:input[i]];
1215
+ i = RGLCustomizationImageNextPagePassportFlipClean;
1216
+ if(input[i]) result[@"nextPagePassportFlipClean"] = [RGLWJSONConstructor base64WithImage:input[i]];
1217
+ i = RGLCustomizationImageNextPagePassportFlipTop;
1218
+ if(input[i]) result[@"nextPagePassportFlipTop"] = [RGLWJSONConstructor base64WithImage:input[i]];
1219
+ i = RGLCustomizationImageNextPagePassportFlipBottom;
1220
+ if(input[i]) result[@"nextPagePassportFlipBottom"] = [RGLWJSONConstructor base64WithImage:input[i]];
1221
+
1222
+ return result;
1223
+ }
1224
+
1225
+ +(void)setTimings:(NSMutableDictionary*)result input:(NSDictionary*)input {
1226
+ if(input[@"nextPageIdCardStartDelay"]) result[@(RGLCustomizationTimingNextPageIdCardStartDelay)] = input[@"nextPageIdCardStartDelay"];
1227
+ if(input[@"nextPageIdCardEndDelay"]) result[@(RGLCustomizationTimingNextPageIdCardEndDelay)] = input[@"nextPageIdCardEndDelay"];
1228
+ if(input[@"nextPagePassportShiftStartDelay"]) result[@(RGLCustomizationTimingNextPagePassportShiftStartDelay)] = input[@"nextPagePassportShiftStartDelay"];
1229
+ if(input[@"nextPagePassportShiftEndDelay"]) result[@(RGLCustomizationTimingNextPagePassportShiftEndDelay)] = input[@"nextPagePassportShiftEndDelay"];
1230
+ if(input[@"nextPagePassportFlipStartDelay"]) result[@(RGLCustomizationTimingNextPagePassportFlipStartDelay)] = input[@"nextPagePassportFlipStartDelay"];
1231
+ if(input[@"nextPagePassportFlipEndDelay"]) result[@(RGLCustomizationTimingNextPagePassportFlipEndDelay)] = input[@"nextPagePassportFlipEndDelay"];
1232
+ }
1233
+
1234
+ +(NSDictionary*)getTimings:(NSDictionary*)input {
1235
+ id result = @{}.mutableCopy;
1236
+ id i;
1237
+
1238
+ i = @(RGLCustomizationTimingNextPageIdCardStartDelay);
1239
+ if(input[i]) result[@"nextPageIdCardStartDelay"] = input[i];
1240
+ i = @(RGLCustomizationTimingNextPageIdCardEndDelay);
1241
+ if(input[i]) result[@"nextPageIdCardEndDelay"] = input[i];
1242
+ i = @(RGLCustomizationTimingNextPagePassportShiftStartDelay);
1243
+ if(input[i]) result[@"nextPagePassportShiftStartDelay"] = input[i];
1244
+ i = @(RGLCustomizationTimingNextPagePassportShiftEndDelay);
1245
+ if(input[i]) result[@"nextPagePassportShiftEndDelay"] = input[i];
1246
+ i = @(RGLCustomizationTimingNextPagePassportFlipStartDelay);
1247
+ if(input[i]) result[@"nextPagePassportFlipStartDelay"] = input[i];
1248
+ i = @(RGLCustomizationTimingNextPagePassportFlipEndDelay);
1249
+ if(input[i]) result[@"nextPagePassportFlipEndDelay"] = input[i];
1250
+
1251
+ return result;
1252
+ }
1253
+
1254
+ +(void)setContentModes:(NSMutableDictionary*)result input:(NSDictionary*)input {
1255
+ if(input[@"nextPageIdCardFront"]) result[@(RGLCustomizationContentModeNextPageIdCardFront)] = input[@"nextPageIdCardFront"];
1256
+ if(input[@"nextPageIdCardBack"]) result[@(RGLCustomizationContentModeNextPageIdCardBack)] = input[@"nextPageIdCardBack"];
1257
+ }
1258
+
1259
+ +(NSDictionary*)getContentModes:(NSDictionary*)input {
1260
+ return @{
1261
+ @"nextPageIdCardFront": input[@(RGLCustomizationContentModeNextPageIdCardFront)],
1262
+ @"nextPageIdCardBack": input[@(RGLCustomizationContentModeNextPageIdCardBack)],
1152
1263
  };
1153
1264
  }
1154
1265
 
@@ -286,6 +286,8 @@ static NSMutableArray* weakReferencesHolder;
286
286
  result.httpHeaders = [input valueForKey:@"httpHeaders"];
287
287
  if([input valueForKey:@"rfidServerSideChipVerification"] != nil)
288
288
  result.rfidServerSideChipVerification = [input valueForKey:@"rfidServerSideChipVerification"];
289
+ if([input valueForKey:@"mdlVerification"] != nil)
290
+ result.mDLVerification = [input valueForKey:@"mdlVerification"];
289
291
  if (input[@"timeoutConnection"]) result.timeoutConnection = input[@"timeoutConnection"];
290
292
 
291
293
  return result;
@@ -298,6 +300,7 @@ static NSMutableArray* weakReferencesHolder;
298
300
  result[@"url"] = input.url;
299
301
  result[@"httpHeaders"] = input.httpHeaders;
300
302
  result[@"rfidServerSideChipVerification"] = input.rfidServerSideChipVerification;
303
+ result[@"mdlVerification"] = input.mDLVerification;
301
304
  result[@"timeoutConnection"] = input.timeoutConnection;
302
305
 
303
306
  return result;
@@ -2628,6 +2631,7 @@ static NSMutableArray* weakReferencesHolder;
2628
2631
  if (input[@"rawImages"]) result.rawImages = [input[@"rawImages"] boolValue];
2629
2632
  if (input[@"video"]) result.video = [input[@"video"] boolValue];
2630
2633
  if (input[@"rfidSession"]) result.rfidSession = [input[@"rfidSession"] boolValue];
2634
+ if (input[@"mdlSession"]) result.mdlSession = [input[@"mdlSession"] boolValue];
2631
2635
 
2632
2636
  return result;
2633
2637
  }
@@ -2639,6 +2643,7 @@ static NSMutableArray* weakReferencesHolder;
2639
2643
  result[@"rawImages"] = @(input.rawImages);
2640
2644
  result[@"video"] = @(input.video);
2641
2645
  result[@"rfidSession"] = @(input.rfidSession);
2646
+ result[@"mdlSession"] = @(input.mdlSession);
2642
2647
 
2643
2648
  return result;
2644
2649
  }
@@ -1368,6 +1368,7 @@ class BackendProcessingConfig {
1368
1368
  result.url = jsonObject["url"]
1369
1369
  result.httpHeaders = jsonObject["httpHeaders"]
1370
1370
  result.rfidServerSideChipVerification = jsonObject["rfidServerSideChipVerification"]
1371
+ result.mdlVerification = jsonObject["mdlVerification"]
1371
1372
  result.timeoutConnection = jsonObject["timeoutConnection"]
1372
1373
 
1373
1374
  return result
@@ -1474,6 +1475,9 @@ class ProcessParams {
1474
1475
  result.strictSecurityChecks = jsonObject["strictSecurityChecks"]
1475
1476
  result.returnTransliteratedFields = jsonObject["returnTransliteratedFields"]
1476
1477
  result.checkCaptureProcessIntegrity = jsonObject["checkCaptureProcessIntegrity"]
1478
+ result.strictExpiryDate = jsonObject["strictExpiryDate"]
1479
+ result.debugSaveBinarySession = jsonObject["debugSaveBinarySession"]
1480
+ result.checkVDS = jsonObject["checkVDS"]
1477
1481
  result.barcodeParserType = jsonObject["barcodeParserType"]
1478
1482
  result.perspectiveAngle = jsonObject["perspectiveAngle"]
1479
1483
  result.minDPI = jsonObject["minDPI"]
@@ -1576,6 +1580,10 @@ class CustomizationColors {
1576
1580
  result.rfidEnableNfcDescriptionText = jsonObject["rfidEnableNfcDescriptionText"]
1577
1581
  result.rfidEnableNfcButtonText = jsonObject["rfidEnableNfcButtonText"]
1578
1582
  result.rfidEnableNfcButtonBackground = jsonObject["rfidEnableNfcButtonBackground"]
1583
+ result.nextPageIdCardFront = jsonObject["nextPageIdCardFront"]
1584
+ result.nextPageIdCardBack = jsonObject["nextPageIdCardBack"]
1585
+ result.nextPagePassportShift = jsonObject["nextPagePassportShift"]
1586
+ result.nextPagePassportFlip = jsonObject["nextPagePassportFlip"]
1579
1587
 
1580
1588
  return result
1581
1589
  }
@@ -1602,8 +1610,74 @@ class CustomizationImages {
1602
1610
  if (jsonObject == null) return null
1603
1611
  const result = new CustomizationImages()
1604
1612
 
1613
+ result.helpAnimation = jsonObject["helpAnimation"]
1614
+ result.livenessAnimation = jsonObject["livenessAnimation"]
1615
+ result.borderBackground = jsonObject["borderBackground"]
1616
+ result.torchButtonOn = jsonObject["torchButtonOn"]
1617
+ result.torchButtonOff = jsonObject["torchButtonOff"]
1618
+ result.captureButton = jsonObject["captureButton"]
1619
+ result.switchButton = jsonObject["switchButton"]
1620
+ result.closeButton = jsonObject["closeButton"]
1621
+ result.multipageButton = jsonObject["multipageButton"]
1605
1622
  result.rfidProcessingScreenFailureImage = jsonObject["rfidProcessingScreenFailureImage"]
1606
1623
  result.rfidEnableNfcImage = jsonObject["rfidEnableNfcImage"]
1624
+ result.rfidDisableNfcImage = jsonObject["rfidDisableNfcImage"]
1625
+ result.mdlProcessingScreenFailureImage = jsonObject["mdlProcessingScreenFailureImage"]
1626
+ result.mdlEnableNfcImage = jsonObject["mdlEnableNfcImage"]
1627
+ result.mdlDisableNfcImage = jsonObject["mdlDisableNfcImage"]
1628
+ result.nextPageIdCardFront = jsonObject["nextPageIdCardFront"]
1629
+ result.nextPageIdCardBack = jsonObject["nextPageIdCardBack"]
1630
+ result.nextPagePassportShift = jsonObject["nextPagePassportShift"]
1631
+ result.nextPagePassportFlipStart = jsonObject["nextPagePassportFlipStart"]
1632
+ result.nextPagePassportFlipClean = jsonObject["nextPagePassportFlipClean"]
1633
+ result.nextPagePassportFlipTop = jsonObject["nextPagePassportFlipTop"]
1634
+ result.nextPagePassportFlipBottom = jsonObject["nextPagePassportFlipBottom"]
1635
+
1636
+ return result
1637
+ }
1638
+ }
1639
+
1640
+ class CustomizationTimings {
1641
+ static fromJson(jsonObject) {
1642
+ if (jsonObject == null) return null
1643
+ const result = new CustomizationTimings()
1644
+
1645
+ result.nextPageIdCardStartDelay = jsonObject["nextPageIdCardStartDelay"]
1646
+ result.nextPageIdCardEndDelay = jsonObject["nextPageIdCardEndDelay"]
1647
+ result.nextPagePassportShiftStartDelay = jsonObject["nextPagePassportShiftStartDelay"]
1648
+ result.nextPagePassportShiftEndDelay = jsonObject["nextPagePassportShiftEndDelay"]
1649
+ result.nextPagePassportFlipStartDelay = jsonObject["nextPagePassportFlipStartDelay"]
1650
+ result.nextPagePassportFlipEndDelay = jsonObject["nextPagePassportFlipEndDelay"]
1651
+
1652
+ return result
1653
+ }
1654
+ }
1655
+
1656
+ class CustomizationContentModes {
1657
+ static fromJson(jsonObject) {
1658
+ if (jsonObject == null) return null
1659
+ const result = new CustomizationContentModes()
1660
+
1661
+ result.nextPageIdCardFront = jsonObject["nextPageIdCardFront"]
1662
+ result.nextPageIdCardBack = jsonObject["nextPageIdCardBack"]
1663
+
1664
+ return result
1665
+ }
1666
+ }
1667
+
1668
+ class CustomizationMatrices {
1669
+ static fromJson(jsonObject) {
1670
+ if (jsonObject == null) return null
1671
+ const result = new CustomizationMatrices()
1672
+
1673
+ result.nextPageIdCardFront = []
1674
+ if (jsonObject["nextPageIdCardFront"] != null)
1675
+ for (const i in jsonObject["nextPageIdCardFront"])
1676
+ result.nextPageIdCardFront.push(jsonObject["nextPageIdCardFront"][i])
1677
+ result.nextPageIdCardBack = []
1678
+ if (jsonObject["nextPageIdCardBack"] != null)
1679
+ for (const i in jsonObject["nextPageIdCardBack"])
1680
+ result.nextPageIdCardBack.push(jsonObject["nextPageIdCardBack"][i])
1607
1681
 
1608
1682
  return result
1609
1683
  }
@@ -1701,6 +1775,9 @@ class Customization {
1701
1775
  result.colors = CustomizationColors.fromJson(jsonObject["colors"])
1702
1776
  result.fonts = CustomizationFonts.fromJson(jsonObject["fonts"])
1703
1777
  result.images = CustomizationImages.fromJson(jsonObject["images"])
1778
+ result.timings = CustomizationTimings.fromJson(jsonObject["timings"])
1779
+ result.contentModes = CustomizationContentModes.fromJson(jsonObject["contentModes"])
1780
+ result.matrices = CustomizationMatrices.fromJson(jsonObject["matrices"])
1704
1781
 
1705
1782
  return result
1706
1783
  }
@@ -2034,6 +2111,7 @@ class FinalizeConfig {
2034
2111
  result.rawImages = jsonObject["rawImages"]
2035
2112
  result.video = jsonObject["video"]
2036
2113
  result.rfidSession = jsonObject["rfidSession"]
2114
+ result.mdlSession = jsonObject["mdlSession"]
2037
2115
 
2038
2116
  return result
2039
2117
  }
@@ -2108,6 +2186,10 @@ const CustomizationColor = {
2108
2186
  MDL_ENABLE_NFC_DESCRIPTION_TEXT: "mdlEnableNfcDescriptionText",
2109
2187
  MDL_ENABLE_NFC_BUTTON_TEXT: "mdlEnableNfcButtonText",
2110
2188
  MDL_ENABLE_NFC_BUTTON_BACKGROUND: "mdlEnableNfcButtonBackground",
2189
+ NEXT_PAGE_ID_CARD_FRONT: "nextPageIdCardFront",
2190
+ NEXT_PAGE_ID_CARD_BACK: "nextPageIdCardBack",
2191
+ NEXT_PAGE_PASSPORT_SHIFT: "nextPagePassportShift",
2192
+ NEXT_PAGE_PASSPORT_FLIP: "nextPagePassportFlip",
2111
2193
  }
2112
2194
 
2113
2195
  const eRFID_ErrorCodes = {
@@ -2655,6 +2737,9 @@ const eRFID_NotificationCodes = {
2655
2737
  RFID_NOTIFICATION_AUXILIARY_DATA_VALIDATION: 0x000D0000,
2656
2738
  RFID_NOTIFICATION_RI_SECTOR_ID: 0x000E0000,
2657
2739
  RFID_NOTIFICATION_BIOMETRICS_EMPTY_PLACEHOLDER: 0x000F0000,
2740
+ RFID_NOTIFICATION_SESSION_FILE_DATA_UPDATED: 1048576,
2741
+ RFID_NOTIFICATION_TCC_TA_RESOURCES: 1114112,
2742
+ RFID_NOTIFICATION_TCC_TA_SIGNATURE: 1114113,
2658
2743
  }
2659
2744
 
2660
2745
  const CameraPosition = {
@@ -2747,6 +2832,11 @@ const eSignManagementAction = {
2747
2832
  smaSignData: 7,
2748
2833
  }
2749
2834
 
2835
+ const CustomizationMatrix = {
2836
+ NEXT_PAGE_ID_CARD_FRONT: "nextPageIdCardFront",
2837
+ NEXT_PAGE_ID_CARD_BACK: "nextPageIdCardBack",
2838
+ }
2839
+
2750
2840
  const eMDLDeviceEngagement = {
2751
2841
  QR: 0,
2752
2842
  NFC: 1,
@@ -2889,6 +2979,11 @@ const eMDLIntentToRetain = {
2889
2979
  TRUE: 1,
2890
2980
  }
2891
2981
 
2982
+ const CustomizationContentMode = {
2983
+ NEXT_PAGE_ID_CARD_FRONT: "nextPageIdCardFront",
2984
+ NEXT_PAGE_ID_CARD_BACK: "nextPageIdCardBack",
2985
+ }
2986
+
2892
2987
  const RFIDDelegate = {
2893
2988
  NULL: 0,
2894
2989
  NO_PA: 1,
@@ -4395,9 +4490,11 @@ const eVisualFieldType = {
4395
4490
  FT_NATIONALITY_CODE_ALPHA2: 697,
4396
4491
  FT_FIRST_ISSUE_DATE_CHECKDIGIT: 698,
4397
4492
  FT_FIRST_ISSUE_DATE_CHECKSUM: 699,
4493
+ FT_EXPIRY_TIMESTAMP: 700,
4398
4494
  FT_COMMERCIAL_INDICATOR: 701,
4399
4495
  FT_NON_DOMICILED_INDICATOR: 702,
4400
4496
  FT_JURISDICTION_SPECIFIC_DATA: 703,
4497
+ FT_DATA_DATE_OF_EXPIRY: 704,
4401
4498
  }
4402
4499
 
4403
4500
  const DocReaderOrientation = {
@@ -4577,11 +4674,38 @@ const LCID = {
4577
4674
  URDU_DETECTION: 10560,
4578
4675
  }
4579
4676
 
4677
+ const CustomizationTiming = {
4678
+ NEXT_PAGE_ID_CARD_START_DELAY: "nextPageIdCardStartDelay",
4679
+ NEXT_PAGE_ID_CARD_END_DELAY: "nextPageIdCardEndDelay",
4680
+ NEXT_PAGE_PASSPORT_SHIFT_START_DELAY: "nextPagePassportShiftStartDelay",
4681
+ NEXT_PAGE_PASSPORT_SHIFT_END_DELAY: "nextPagePassportShiftEndDelay",
4682
+ NEXT_PAGE_PASSPORT_FLIP_START_DELAY: "nextPagePassportFlipStartDelay",
4683
+ NEXT_PAGE_PASSPORT_FLIP_END_DELAY: "nextPagePassportFlipEndDelay",
4684
+ }
4685
+
4580
4686
  const CustomizationImage = {
4687
+ HELP_ANIMATION: "helpAnimation",
4688
+ LIVENESS_ANIMATION: "livenessAnimation",
4689
+ BORDER_BACKGROUND: "borderBackground",
4690
+ TORCH_BUTTON_ON: "torchButtonOn",
4691
+ TORCH_BUTTON_OFF: "torchButtonOff",
4692
+ CAPTURE_BUTTON: "captureButton",
4693
+ SWITCH_BUTTON: "switchButton",
4694
+ CLOSE_BUTTON: "closeButton",
4695
+ MULTIPAGE_BUTTON: "multipageButton",
4581
4696
  RFID_PROCESSING_SCREEN_FAILURE_IMAGE: "rfidProcessingScreenFailureImage",
4582
4697
  RFID_ENABLE_NFC_IMAGE: "rfidEnableNfcImage",
4698
+ RFID_DISABLE_NFC_IMAGE: "rfidDisableNfcImage",
4583
4699
  MDL_PROCESSING_SCREEN_FAILURE_IMAGE: "mdlProcessingScreenFailureImage",
4584
4700
  MDL_ENABLE_NFC_IMAGE: "mdlEnableNfcImage",
4701
+ MDL_DISABLE_NFC_IMAGE: "mdlDisableNfcImage",
4702
+ NEXT_PAGE_ID_CARD_FRONT: "nextPageIdCardFront",
4703
+ NEXT_PAGE_ID_CARD_BACK: "nextPageIdCardBack",
4704
+ NEXT_PAGE_PASSPORT_SHIFT: "nextPagePassportShift",
4705
+ NEXT_PAGE_PASSPORT_FLIP_START: "nextPagePassportFlipStart",
4706
+ NEXT_PAGE_PASSPORT_FLIP_CLEAN: "nextPagePassportFlipClean",
4707
+ NEXT_PAGE_PASSPORT_FLIP_TOP: "nextPagePassportFlipTop",
4708
+ NEXT_PAGE_PASSPORT_FLIP_BOTTOM: "nextPagePassportFlipBottom",
4585
4709
  }
4586
4710
 
4587
4711
  const DocReaderFrame = {
@@ -4646,9 +4770,11 @@ const Enum = {
4646
4770
  BarcodeResult,
4647
4771
  eRFID_Application_Type,
4648
4772
  eSignManagementAction,
4773
+ CustomizationMatrix,
4649
4774
  eMDLDeviceEngagement,
4650
4775
  eCheckDiagnose,
4651
4776
  eMDLIntentToRetain,
4777
+ CustomizationContentMode,
4652
4778
  RFIDDelegate,
4653
4779
  TextProcessing,
4654
4780
  LogLevel,
@@ -4679,6 +4805,7 @@ const Enum = {
4679
4805
  eVisualFieldType,
4680
4806
  DocReaderOrientation,
4681
4807
  LCID,
4808
+ CustomizationTiming,
4682
4809
  CustomizationImage,
4683
4810
  DocReaderFrame,
4684
4811
  eMDLDocRequestPreset,
@@ -4863,6 +4990,9 @@ DocumentReaderPlugin.Font = Font
4863
4990
  DocumentReaderPlugin.CustomizationColors = CustomizationColors
4864
4991
  DocumentReaderPlugin.CustomizationFonts = CustomizationFonts
4865
4992
  DocumentReaderPlugin.CustomizationImages = CustomizationImages
4993
+ DocumentReaderPlugin.CustomizationTimings = CustomizationTimings
4994
+ DocumentReaderPlugin.CustomizationContentModes = CustomizationContentModes
4995
+ DocumentReaderPlugin.CustomizationMatrices = CustomizationMatrices
4866
4996
  DocumentReaderPlugin.Customization = Customization
4867
4997
  DocumentReaderPlugin.EDLDataGroups = EDLDataGroups
4868
4998
  DocumentReaderPlugin.EPassportDataGroups = EPassportDataGroups