@regulaforensics/react-native-document-reader-api 8.1.136-nightly → 8.1.139-nightly

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/RNDocumentReaderApi.podspec +1 -1
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/AndroidManifest.xml +1 -1
  4. package/android/src/main/java/com/regula/{documentreader → plugin/documentreader}/BluetoothUtil.kt +7 -16
  5. package/android/src/main/java/com/regula/{documentreader → plugin/documentreader}/Config.kt +154 -120
  6. package/android/src/main/java/com/regula/plugin/documentreader/JSONConstructor.kt +1778 -0
  7. package/android/src/main/java/com/regula/plugin/documentreader/Main.kt +553 -0
  8. package/android/src/main/java/com/regula/plugin/documentreader/RNRegulaDocumentReaderModule.kt +103 -0
  9. package/android/src/main/java/com/regula/plugin/documentreader/Utils.kt +181 -0
  10. package/example/android/app/build.gradle +7 -4
  11. package/example/android/app/src/debug/java/com/regula/dr/fullrfid/ReactNativeFlipper.java +1 -1
  12. package/example/android/app/src/main/java/com/regula/dr/{fullrfid → fullauthrfid}/MainActivity.java +1 -1
  13. package/example/android/app/src/main/java/com/regula/dr/{fullrfid → fullauthrfid}/MainApplication.java +10 -3
  14. package/example/android/app/src/release/java/com/regula/dr/fullrfid/ReactNativeFlipper.java +1 -1
  15. package/example/android/build.gradle +5 -5
  16. package/example/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  17. package/example/android/settings.gradle +4 -2
  18. package/example/ios/DocumentReader/AppDelegate.mm +5 -0
  19. package/example/ios/DocumentReader/Info.plist +22 -0
  20. package/example/ios/DocumentReader.xcodeproj/project.pbxproj +4 -14
  21. package/example/ios/Podfile +1 -6
  22. package/example/package-lock.json +2665 -1874
  23. package/example/package.json +25 -22
  24. package/ios/RGLWConfig.h +0 -8
  25. package/ios/RGLWConfig.m +44 -52
  26. package/ios/RGLWJSONConstructor.h +1 -8
  27. package/ios/RGLWJSONConstructor.m +12 -10
  28. package/ios/RGLWMain.h +36 -0
  29. package/ios/RGLWMain.m +591 -0
  30. package/ios/RNRegulaDocumentReader.h +4 -20
  31. package/ios/RNRegulaDocumentReader.m +18 -726
  32. package/package.json +1 -1
  33. package/android/src/main/java/com/regula/documentreader/JSONConstructor.kt +0 -2227
  34. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderModule.kt +0 -560
  35. package/android/src/main/java/com/regula/documentreader/RNRegulaDocumentReaderPackage.kt +0 -11
  36. package/android/src/main/java/com/regula/documentreader/Utils.kt +0 -268
@@ -1,2227 +0,0 @@
1
- //
2
- // JSONConstructor.kt
3
- // DocumentReader
4
- //
5
- // Created by Pavel Masiuk on 21.09.2023.
6
- // Copyright © 2023 Regula. All rights reserved.
7
- //
8
- @file:SuppressLint("MissingPermission")
9
-
10
- package com.regula.documentreader
11
-
12
- import android.annotation.SuppressLint
13
- import android.content.Context
14
- import android.graphics.Bitmap
15
- import android.graphics.Rect
16
- import android.graphics.Typeface
17
- import android.util.Pair
18
- import com.regula.common.exception.RegulaException
19
- import com.regula.documentreader.api.License
20
- import com.regula.documentreader.api.completions.model.PrepareProgress
21
- import com.regula.documentreader.api.config.RecognizeConfig
22
- import com.regula.documentreader.api.config.ScannerConfig
23
- import com.regula.documentreader.api.enums.BarcodeType
24
- import com.regula.documentreader.api.enums.DocReaderAction
25
- import com.regula.documentreader.api.enums.PDF417Info
26
- import com.regula.documentreader.api.enums.eGraphicFieldType
27
- import com.regula.documentreader.api.enums.eRFID_DataFile_Type
28
- import com.regula.documentreader.api.enums.eRPRM_Lights
29
- import com.regula.documentreader.api.listener.NetworkInterceptorListener
30
- import com.regula.documentreader.api.params.AuthenticityParams
31
- import com.regula.documentreader.api.params.BackendProcessingConfig
32
- import com.regula.documentreader.api.params.BleDeviceConfig
33
- import com.regula.documentreader.api.params.DocReaderConfig
34
- import com.regula.documentreader.api.params.FaceApiParams
35
- import com.regula.documentreader.api.params.Functionality
36
- import com.regula.documentreader.api.params.ImageInputData
37
- import com.regula.documentreader.api.params.ImageQA
38
- import com.regula.documentreader.api.params.ImageQA.GlaresCheckParams
39
- import com.regula.documentreader.api.params.LivenessParams
40
- import com.regula.documentreader.api.params.OnlineProcessingConfig
41
- import com.regula.documentreader.api.params.ParamsCustomization
42
- import com.regula.documentreader.api.params.ProcessParam
43
- import com.regula.documentreader.api.params.RfidScenario
44
- import com.regula.documentreader.api.params.rfid.PKDCertificate
45
- import com.regula.documentreader.api.params.rfid.RFIDParams
46
- import com.regula.documentreader.api.params.rfid.TccParams
47
- import com.regula.documentreader.api.params.rfid.authorization.PAAttribute
48
- import com.regula.documentreader.api.params.rfid.authorization.PAResourcesIssuer
49
- import com.regula.documentreader.api.params.rfid.authorization.TAChallenge
50
- import com.regula.documentreader.api.params.rfid.dg.DTCDataGroup
51
- import com.regula.documentreader.api.params.rfid.dg.EDLDataGroups
52
- import com.regula.documentreader.api.params.rfid.dg.EIDDataGroups
53
- import com.regula.documentreader.api.params.rfid.dg.EPassportDataGroups
54
- import com.regula.documentreader.api.results.BytesData
55
- import com.regula.documentreader.api.results.Coordinate
56
- import com.regula.documentreader.api.results.DocReaderDocumentsDatabase
57
- import com.regula.documentreader.api.results.DocReaderFieldRect
58
- import com.regula.documentreader.api.results.DocReaderVersion
59
- import com.regula.documentreader.api.results.DocumentReaderBarcodeField
60
- import com.regula.documentreader.api.results.DocumentReaderBarcodeResult
61
- import com.regula.documentreader.api.results.DocumentReaderComparison
62
- import com.regula.documentreader.api.results.DocumentReaderDocumentType
63
- import com.regula.documentreader.api.results.DocumentReaderGraphicField
64
- import com.regula.documentreader.api.results.DocumentReaderGraphicResult
65
- import com.regula.documentreader.api.results.DocumentReaderNotification
66
- import com.regula.documentreader.api.results.DocumentReaderResults
67
- import com.regula.documentreader.api.results.DocumentReaderResultsStatus
68
- import com.regula.documentreader.api.results.DocumentReaderResultsStatus.DetailsOptical
69
- import com.regula.documentreader.api.results.DocumentReaderResultsStatus.DetailsRFID
70
- import com.regula.documentreader.api.results.DocumentReaderRfidOrigin
71
- import com.regula.documentreader.api.results.DocumentReaderScenario
72
- import com.regula.documentreader.api.results.DocumentReaderSymbol
73
- import com.regula.documentreader.api.results.DocumentReaderTextField
74
- import com.regula.documentreader.api.results.DocumentReaderTextResult
75
- import com.regula.documentreader.api.results.DocumentReaderTextSource
76
- import com.regula.documentreader.api.results.DocumentReaderValidity
77
- import com.regula.documentreader.api.results.DocumentReaderValue
78
- import com.regula.documentreader.api.results.ElementPosition
79
- import com.regula.documentreader.api.results.ImageQuality
80
- import com.regula.documentreader.api.results.ImageQualityGroup
81
- import com.regula.documentreader.api.results.TransactionInfo
82
- import com.regula.documentreader.api.results.VDSNCData
83
- import com.regula.documentreader.api.results.authenticity.DocumentReaderAuthenticityCheck
84
- import com.regula.documentreader.api.results.authenticity.DocumentReaderAuthenticityElement
85
- import com.regula.documentreader.api.results.authenticity.DocumentReaderAuthenticityResult
86
- import com.regula.documentreader.api.results.rfid.AccessControlProcedureType
87
- import com.regula.documentreader.api.results.rfid.Application
88
- import com.regula.documentreader.api.results.rfid.Attribute
89
- import com.regula.documentreader.api.results.rfid.Authority
90
- import com.regula.documentreader.api.results.rfid.CardProperties
91
- import com.regula.documentreader.api.results.rfid.CertificateChain
92
- import com.regula.documentreader.api.results.rfid.CertificateData
93
- import com.regula.documentreader.api.results.rfid.DataField
94
- import com.regula.documentreader.api.results.rfid.Extension
95
- import com.regula.documentreader.api.results.rfid.File
96
- import com.regula.documentreader.api.results.rfid.FileData
97
- import com.regula.documentreader.api.results.rfid.RFIDSessionData
98
- import com.regula.documentreader.api.results.rfid.SecurityObject
99
- import com.regula.documentreader.api.results.rfid.SecurityObjectCertificates
100
- import com.regula.documentreader.api.results.rfid.SignerInfo
101
- import com.regula.documentreader.api.results.rfid.Validity
102
- import com.regula.documentreader.api.results.rfid.Value
103
- import com.regula.documentreader.Convert.bitmapFromBase64
104
- import com.regula.documentreader.Convert.bitmapToBase64
105
- import com.regula.documentreader.Convert.byteArrayFromBase64
106
- import com.regula.documentreader.Convert.generateByteArray
107
- import org.json.JSONArray
108
- import org.json.JSONObject
109
-
110
- val weakReferencesHolder = mutableListOf<Any>()
111
-
112
- fun generateCompletion(action: Int, results: DocumentReaderResults?, error: RegulaException?, context: Context?) = object : JSONObject() { init {
113
- put("action", action)
114
- if (listOf(
115
- DocReaderAction.COMPLETE,
116
- DocReaderAction.MORE_PAGES_AVAILABLE,
117
- DocReaderAction.CANCEL,
118
- DocReaderAction.ERROR,
119
- DocReaderAction.TIMEOUT
120
- ).contains(action)
121
- ) put("results", generateDocumentReaderResults(results, context))
122
- put("error", generateRegulaException(error))
123
- }
124
- }
125
-
126
- fun generateSuccessCompletion(success: Boolean, error: RegulaException?) = object : JSONObject() { init {
127
- put("success", success)
128
- put("error", generateRegulaException(error))
129
- }
130
- }
131
-
132
- fun prepareProgressFromJSON(it: JSONObject) = PrepareProgress(
133
- it.getInt("downloadedBytes"),
134
- it.getInt("totalBytes")
135
- )
136
-
137
- fun generatePrepareProgress(it: PrepareProgress) = mapOf(
138
- "downloadedBytes" to it.downloadedBytes,
139
- "totalBytes" to it.totalBytes,
140
- "progress" to it.progress
141
- ).toJson()
142
-
143
- fun generatePACertificateCompletion(serialNumber: ByteArray?, issuer: PAResourcesIssuer?) = object : JSONObject() { init {
144
- put("serialNumber", generateByteArray(serialNumber))
145
- put("issuer", generatePAResourcesIssuer(issuer))
146
- }
147
- }
148
-
149
- fun generateFinalizePackageCompletion(action: Int, info: TransactionInfo?, error: RegulaException?) = object : JSONObject() { init {
150
- put("action", action)
151
- put("info", generateTransactionInfo(info))
152
- put("error", generateRegulaException(error))
153
- }
154
- }
155
-
156
- fun regulaExceptionFromJSON(temp: JSONObject?) = temp?.let {
157
- val input: JSONObject = temp
158
-
159
- val code = input.optInt("code")
160
- val message = input.optString("message")
161
-
162
- RegulaException(code, message)
163
- }
164
-
165
- fun generateRegulaException(temp: RegulaException?): JSONObject? = temp?.let {
166
- object : JSONObject() { init {
167
- val input: RegulaException = it
168
- put("code", input.errorCode)
169
- put("message", input.message)
170
- }
171
- }
172
- }
173
-
174
- fun transactionInfoFromJSON(temp: JSONObject?): TransactionInfo? {
175
- temp ?: return null
176
- val input: JSONObject = temp
177
- val result = TransactionInfo()
178
-
179
- if (input.has("transactionId")) result.transactionId = input.getString("transactionId")
180
- if (input.has("tag")) result.tag = input.getString("tag")
181
- if (input.has("sessionLogFolder")) result.sessionLogFolder = input.getString("sessionLogFolder")
182
-
183
- return result
184
- }
185
-
186
- fun generateTransactionInfo(temp: TransactionInfo?): JSONObject? {
187
- val result = JSONObject()
188
- temp ?: return null
189
- val input: TransactionInfo = temp
190
-
191
- result.put("transactionId", input.transactionId)
192
- result.put("tag", input.tag)
193
- result.put("sessionLogFolder", input.sessionLogFolder)
194
-
195
- return result
196
- }
197
-
198
- fun tccParamsFromJSON(input: JSONObject): TccParams {
199
- val result = TccParams()
200
-
201
- if (input.has("serviceUrlTA")) result.serviceUrlTA = input.getString("serviceUrlTA")
202
- if (input.has("serviceUrlPA")) result.serviceUrlPA = input.getString("serviceUrlPA")
203
- if (input.has("pfxCertUrl")) result.pfxCertUrl = input.getString("pfxCertUrl")
204
- if (input.has("pfxPassPhrase")) result.pfxPassPhrase = input.getString("pfxPassPhrase")
205
- if (input.has("pfxCert")) result.pfxCert = byteArrayFromBase64(input.getString("pfxCert"))
206
-
207
- return result
208
- }
209
-
210
- fun generateTccParams(temp: TccParams?): JSONObject? {
211
- val result = JSONObject()
212
- temp ?: return null
213
- val input: TccParams = temp
214
-
215
- result.put("serviceUrlTA", input.serviceUrlTA)
216
- result.put("serviceUrlPA", input.serviceUrlPA)
217
- result.put("pfxCertUrl", input.pfxCertUrl)
218
- result.put("pfxPassPhrase", input.pfxPassPhrase)
219
- result.put("pfxCert", generateByteArray(input.pfxCert))
220
-
221
- return result
222
- }
223
-
224
- fun docReaderConfigFromJSON(input: JSONObject): DocReaderConfig {
225
- val license = byteArrayFromBase64(input.getString("license"))
226
- var result = DocReaderConfig(license!!)
227
-
228
- if (input.has("customDb")) result = DocReaderConfig(license, byteArrayFromBase64(input.getString("customDb"))!!)
229
- if (input.has("databasePath")) result = DocReaderConfig(license, input.getString("databasePath"))
230
- if (input.has("licenseUpdate")) result.setLicenseUpdate(input.getBoolean("licenseUpdate"))
231
- if (input.has("delayedNNLoad")) result.isDelayedNNLoad = input.getBoolean("delayedNNLoad")
232
- if (input.has("blackList")) result.blackList = input.getJSONObject("blackList")
233
-
234
- return result
235
- }
236
-
237
- fun generateDocReaderConfig(temp: DocReaderConfig?): JSONObject? {
238
- val result = JSONObject()
239
- temp ?: return null
240
- val input: DocReaderConfig = temp
241
-
242
- result.put("license", generateByteArray(input.license))
243
- result.put("customDb", generateByteArray(input.customDb))
244
- result.put("databasePath", input.customDbPath)
245
- result.put("licenseUpdate", input.isLicenseUpdate)
246
- result.put("delayedNNLoad", input.isDelayedNNLoad)
247
- result.put("blackList", input.blackList)
248
-
249
- return result
250
- }
251
-
252
- fun bleDeviceConfigFromJSON(input: JSONObject): BleDeviceConfig {
253
- var result = BleDeviceConfig(bluetooth!!)
254
-
255
- if (input.has("customDb")) result = BleDeviceConfig(bluetooth!!, byteArrayFromBase64(input.getString("customDb")))
256
- if (input.has("licenseUpdate")) result.setLicenseUpdate(input.getBoolean("licenseUpdate"))
257
- if (input.has("delayedNNLoad")) result.isDelayedNNLoad = input.getBoolean("delayedNNLoad")
258
- if (input.has("blackList")) result.blackList = input.getJSONObject("blackList")
259
-
260
- return result
261
- }
262
-
263
- fun scannerConfigFromJSON(input: JSONObject): ScannerConfig {
264
- val builder = if (input.has("scenario")) ScannerConfig.Builder(input.getString("scenario"))
265
- else ScannerConfig.Builder(onlineProcessingConfigFromJSON(input.getJSONObject("onlineProcessingConfig"))!!)
266
-
267
- if (input.has("onlineProcessingConfig")) builder.setOnlineProcessingConfig(onlineProcessingConfigFromJSON(input.getJSONObject("onlineProcessingConfig")))
268
- if (input.has("livePortrait")) builder.setLivePortrait(bitmapFromBase64(input.getString("livePortrait"))!!)
269
- if (input.has("extPortrait")) builder.setExtPortrait(bitmapFromBase64(input.getString("extPortrait"))!!)
270
- if (input.has("cameraId")) builder.setCameraId(input.getInt("cameraId"))
271
-
272
- return builder.build()
273
- }
274
-
275
- fun generateScannerConfig(temp: ScannerConfig?): JSONObject? {
276
- val result = JSONObject()
277
- temp ?: return null
278
- val input: ScannerConfig = temp
279
-
280
- result.put("scenario", input.scenario)
281
- result.put("onlineProcessingConfig", generateOnlineProcessingConfig(input.onlineProcessingConfig))
282
- result.put("livePortrait", bitmapToBase64(input.livePortrait))
283
- result.put("extPortrait", bitmapToBase64(input.extPortrait))
284
- result.put("cameraId", input.cameraId)
285
-
286
- return result
287
- }
288
-
289
- fun recognizeConfigFromJSON(input: JSONObject): RecognizeConfig {
290
- val builder = if (input.has("scenario")) RecognizeConfig.Builder(input.getString("scenario"))
291
- else RecognizeConfig.Builder(onlineProcessingConfigFromJSON(input.getJSONObject("onlineProcessingConfig"))!!)
292
-
293
- if (input.has("oneShotIdentification")) builder.setOneShotIdentification(input.getBoolean("oneShotIdentification"))
294
- if (input.has("dtc")) builder.setDTC(byteArrayFromBase64(input.getString("dtc"))!!)
295
- if (input.has("livePortrait")) builder.setLivePortrait(bitmapFromBase64(input.getString("livePortrait"))!!)
296
- if (input.has("extPortrait")) builder.setExtPortrait(bitmapFromBase64(input.getString("extPortrait"))!!)
297
- if (input.has("image")) builder.setBitmap(bitmapFromBase64(input.getString("image"))!!)
298
- if (input.has("data")) builder.setData(byteArrayFromBase64(input.getString("data"))!!)
299
- if (input.has("images")) {
300
- val base64Images = input.getJSONArray("images")
301
- val images = arrayOfNulls<Bitmap>(base64Images.length())
302
- for (i in images.indices) images[i] = bitmapFromBase64(base64Images.getString(i))
303
- builder.setBitmaps(images)
304
- }
305
- if (input.has("imageInputData")) {
306
- val base64InputData = input.getJSONArray("imageInputData")
307
- val inputData = arrayOfNulls<ImageInputData>(base64InputData.length())
308
- for (i in inputData.indices) inputData[i] = imageInputDataFromJSON(base64InputData.getJSONObject(i))
309
- builder.setImageInputData(inputData)
310
- }
311
-
312
- return builder.build()
313
- }
314
-
315
- fun generateRecognizeConfig(temp: RecognizeConfig?): JSONObject? {
316
- val result = JSONObject()
317
- temp ?: return null
318
- val input: RecognizeConfig = temp
319
-
320
- result.put("scenario", input.scenario)
321
- result.put("onlineProcessingConfig", generateOnlineProcessingConfig(input.onlineProcessingConfig))
322
- result.put("oneShotIdentification", input.oneShotIdentification)
323
- result.put("dtc", generateByteArray(input.dtc))
324
- result.put("livePortrait", bitmapToBase64(input.livePortrait))
325
- result.put("extPortrait", bitmapToBase64(input.extPortrait))
326
- result.put("image", bitmapToBase64(input.bitmap))
327
- result.put("data", generateByteArray(input.data))
328
- if (input.bitmaps == null)
329
- result.put("images", null)
330
- else {
331
- val array = JSONArray()
332
- for (bitmap in input.bitmaps!!) array.put(bitmapToBase64(bitmap))
333
- result.put("images", array)
334
- }
335
- result.put("imageInputData", generateArray(input.imageInputData, ::generateImageInputData))
336
-
337
- return result
338
- }
339
-
340
- fun backendProcessingConfigFromJSON(temp: JSONObject?): BackendProcessingConfig? {
341
- if (temp == null || !temp.has("url")) return null
342
- val input: JSONObject = temp
343
-
344
- val result = BackendProcessingConfig(input.getString("url"))
345
- if (input.has("httpHeaders")) result.httpHeaders = stringMapFromJson(input.getJSONObject("httpHeaders"))
346
- if (input.has("rfidServerSideChipVerification")) result.rfidServerSideChipVerification = input.getBoolean("rfidServerSideChipVerification")
347
- if (input.has("timeoutConnection")) result.timeoutConnection = input.getDouble("timeoutConnection")
348
-
349
- return result
350
- }
351
-
352
- fun generateBackendProcessingConfig(temp: BackendProcessingConfig?): JSONObject? {
353
- val result = JSONObject()
354
- temp ?: return null
355
- val input: BackendProcessingConfig = temp
356
-
357
- result.put("url", input.url)
358
- result.put("httpHeaders", generateStringMap(input.httpHeaders))
359
- result.put("rfidServerSideChipVerification", input.rfidServerSideChipVerification)
360
- result.put("timeoutConnection", input.timeoutConnection)
361
-
362
- return result
363
- }
364
-
365
- fun onlineProcessingConfigFromJSON(temp: JSONObject?): OnlineProcessingConfig? {
366
- if (temp == null || !temp.has("mode")) return null
367
- val input: JSONObject = temp
368
- val builder = OnlineProcessingConfig.Builder(input.getInt("mode"))
369
-
370
- if (input.has("imageFormat")) builder.setImageFormat(input.getInt("imageFormat"))
371
- if (input.has("url")) builder.setUrl(input.getString("url"))
372
- if (input.has("imageCompressionQuality")) builder.setImageCompressionQuality(input.getDouble("imageCompressionQuality").toFloat())
373
- if (input.has("processParams")) builder.setProcessParams(processParamFromJSON(input.getJSONObject("processParams")))
374
- if (input.has("requestHeaders")) {
375
- val listener = NetworkInterceptorListener { input.getJSONObject("requestHeaders").forEach { k, v -> it.setRequestProperty(k, v as String) } }
376
- weakReferencesHolder.add(listener)
377
- builder.setNetworkInterceptorListener(listener)
378
- }
379
-
380
- return builder.build()
381
- }
382
-
383
- fun generateOnlineProcessingConfig(temp: OnlineProcessingConfig?): JSONObject? {
384
- val result = JSONObject()
385
- temp ?: return null
386
- val input: OnlineProcessingConfig = temp
387
-
388
- result.put("mode", input.mode)
389
- result.put("url", input.url)
390
- result.put("processParams", getProcessParams(input.processParam))
391
- result.put("imageFormat", input.imageFormat)
392
- result.put("imageCompressionQuality", input.imageCompressionQuality)
393
-
394
- return result
395
- }
396
-
397
- fun faceApiParamsFromJSON(temp: JSONObject?): FaceApiParams? {
398
- val result = FaceApiParams()
399
- temp ?: return null
400
- val input: JSONObject = temp
401
-
402
- if (input.has("url") && !input.isNull("url")) result.url = input.getString("url")
403
- if (input.has("mode") && !input.isNull("mode")) result.mode = input.getString("mode")
404
- if (input.has("searchParams") && !input.isNull("searchParams")) result.search = faceApiSearchParamsFromJSON(input.getJSONObject("searchParams"))
405
- if (input.has("threshold") && !input.isNull("threshold")) result.threshold = input.getInt("threshold")
406
- if (input.has("serviceTimeout") && !input.isNull("serviceTimeout")) result.serviceTimeout = input.getInt("serviceTimeout")
407
- if (input.has("proxy") && !input.isNull("proxy")) result.proxy = input.getString("proxy")
408
- if (input.has("proxyPassword") && !input.isNull("proxyPassword")) result.proxyUserPwd = input.getString("proxyPassword")
409
- if (input.has("proxyType") && !input.isNull("proxyType")) result.proxyType = input.getInt("proxyType")
410
-
411
- return result
412
- }
413
-
414
- fun generateFaceApiParams(temp: FaceApiParams?): JSONObject? {
415
- val result = JSONObject()
416
- temp ?: return null
417
- val input: FaceApiParams = temp
418
-
419
- result.put("url", input.url)
420
- result.put("mode", input.mode)
421
- result.put("searchParams", generateFaceApiSearchParams(input.search))
422
- result.put("threshold", input.threshold)
423
- result.put("serviceTimeout", input.serviceTimeout)
424
- result.put("proxy", input.proxy)
425
- result.put("proxyPassword", input.proxyUserPwd)
426
- result.put("proxyType", input.proxyType)
427
-
428
- return result
429
- }
430
-
431
- fun faceApiSearchParamsFromJSON(temp: JSONObject?): FaceApiParams.Search? {
432
- val result = FaceApiParams.Search()
433
- temp ?: return null
434
- val input: JSONObject = temp
435
-
436
- if (input.has("limit") && !input.isNull("limit")) result.limit = input.getInt("limit")
437
- if (input.has("threshold") && !input.isNull("threshold")) result.threshold = input.getDouble("threshold").toFloat()
438
- if (input.has("groupIds") && !input.isNull("groupIds")) {
439
- val jsonArrayGroupIds = input.getJSONArray("groupIds")
440
- val groupIds = IntArray(jsonArrayGroupIds.length())
441
- for (i in 0 until jsonArrayGroupIds.length())
442
- groupIds[i] = jsonArrayGroupIds.getInt(i)
443
- result.groupIds = groupIds
444
- }
445
-
446
- return result
447
- }
448
-
449
- fun generateFaceApiSearchParams(temp: FaceApiParams.Search?): JSONObject? {
450
- val result = JSONObject()
451
- temp ?: return null
452
- val input: FaceApiParams.Search = temp
453
-
454
- result.put("limit", input.limit)
455
- result.put("threshold", input.threshold)
456
- result.put("groupIds", input.groupIds.generate())
457
-
458
- return result
459
- }
460
-
461
- fun rfidParamsFromJSON(temp: JSONObject?): RFIDParams? {
462
- val result = RFIDParams()
463
- temp ?: return null
464
- val input: JSONObject = temp
465
-
466
- if (input.has("paIgnoreNotificationCodes")) result.paIgnoreNotificationCodes = input.getJSONArray("paIgnoreNotificationCodes").toIntArray()
467
-
468
- return result
469
- }
470
-
471
- fun generateRFIDParams(temp: RFIDParams?): JSONObject? {
472
- val result = JSONObject()
473
- temp ?: return null
474
- val input: RFIDParams = temp
475
-
476
- result.put("paIgnoreNotificationCodes", input.paIgnoreNotificationCodes.generate())
477
-
478
- return result
479
- }
480
-
481
- fun processParamFromJSON(input: JSONObject): ProcessParam {
482
- val result = ProcessParam()
483
- setProcessParams(result, input)
484
- return result
485
- }
486
-
487
- fun generateProcessParam(input: ProcessParam): JSONObject = getProcessParams(input)
488
-
489
- fun imageQAFromJSON(input: JSONObject): ImageQA {
490
- val result = ImageQA()
491
- setImageQA(result, input)
492
- return result
493
- }
494
-
495
- fun generateImageQA(input: ImageQA) = getImageQA(input)
496
-
497
- fun authenticityParamsFromJSON(input: JSONObject): AuthenticityParams {
498
- val result = AuthenticityParams.defaultParams()
499
- setAuthenticityParams(result, input)
500
- return result
501
- }
502
-
503
- fun generateAuthenticityParams(input: AuthenticityParams?) = getAuthenticityParams(input)
504
-
505
- fun livenessParamsFromJSON(input: JSONObject): LivenessParams {
506
- val result = LivenessParams.defaultParams()
507
- setLivenessParams(result, input)
508
- return result
509
- }
510
-
511
- fun generateLivenessParams(input: LivenessParams?) = getLivenessParams(input)
512
-
513
- fun eDLDataGroupsFromJSON(input: JSONObject): EDLDataGroups {
514
- val result = EDLDataGroups()
515
- setDataGroups(result, input)
516
- return result
517
- }
518
-
519
- fun generateEDLDataGroups(input: EDLDataGroups): JSONObject = getDataGroups(input)
520
-
521
- fun ePassportDataGroupsFromJSON(input: JSONObject): EPassportDataGroups {
522
- val result = EPassportDataGroups()
523
- setDataGroups(result, input)
524
- return result
525
- }
526
-
527
- fun generateEPassportDataGroups(input: EPassportDataGroups): JSONObject = getDataGroups(input)
528
-
529
- fun eIDDataGroupsFromJSON(input: JSONObject): EIDDataGroups {
530
- val result = EIDDataGroups()
531
- setDataGroups(result, input)
532
- return result
533
- }
534
-
535
- fun generateEIDDataGroups(input: EIDDataGroups): JSONObject = getDataGroups(input)
536
-
537
- fun dtcDataGroupFromJSON(input: JSONObject): DTCDataGroup {
538
- val result = DTCDataGroup()
539
- setDTCDataGroup(result, input)
540
- return result
541
- }
542
-
543
- fun generateDTCDataGroup(input: DTCDataGroup): JSONObject = getDTCDataGroup(input)
544
-
545
- fun rfidScenarioFromJSON(input: JSONObject): RfidScenario {
546
- val result = RfidScenario()
547
- setRfidScenario(result, input)
548
- return result
549
- }
550
-
551
- fun generateRfidScenario(input: RfidScenario): JSONObject = getRfidScenario(input)
552
-
553
- fun customizationFromJSON(input: JSONObject, context: Context): ParamsCustomization {
554
- val result = ParamsCustomization()
555
- setCustomization(result, input, context)
556
- return result
557
- }
558
-
559
- fun generateCustomization(input: ParamsCustomization): JSONObject = getCustomization(input)
560
-
561
- fun functionalityFromJSON(input: JSONObject): Functionality {
562
- val result = Functionality()
563
- setFunctionality(result, input)
564
- return result
565
- }
566
-
567
- fun generateFunctionality(input: Functionality): JSONObject = getFunctionality(input)
568
-
569
- fun glaresCheckParamsFromJSON(temp: JSONObject?): GlaresCheckParams? {
570
- temp ?: return null
571
- val input: JSONObject = temp
572
- val result = GlaresCheckParams()
573
-
574
- if (input.has("imgMarginPart")) result.imgMarginPart = input.getDouble("imgMarginPart")
575
- if (input.has("maxGlaringPart")) result.maxGlaringPart = input.getDouble("maxGlaringPart")
576
-
577
- return result
578
- }
579
-
580
- fun generateGlaresCheckParams(temp: GlaresCheckParams?): JSONObject? {
581
- val result = JSONObject()
582
- temp ?: return null
583
- val input: GlaresCheckParams = temp
584
-
585
- result.put("imgMarginPart", input.imgMarginPart)
586
- result.put("maxGlaringPart", input.maxGlaringPart)
587
-
588
- return result
589
- }
590
-
591
- fun typefaceFromJSON(input: JSONObject): Pair<Typeface, Int?> {
592
- val name = input.getString("name")
593
- val style = input.optInt("style", Typeface.NORMAL)
594
- val size = if (input.has("size")) input.getInt("size") else null
595
- return Pair(Typeface.create(name, style), size)
596
- }
597
-
598
- fun generateTypeface(temp: Typeface?, size: Int? = null): JSONObject? {
599
- val result = JSONObject()
600
- temp ?: return null
601
- val input: Typeface = temp
602
-
603
- result.put("name", "undefined")
604
- result.put("style", input.style)
605
- result.put("size", size)
606
-
607
- return result
608
- }
609
-
610
- fun imageInputDataFromJSON(temp: JSONObject?): ImageInputData? {
611
- if (temp == null || !temp.has("image")) return null
612
- val input: JSONObject = temp
613
-
614
- var light = 6
615
- var pageIndex = 0
616
- val image = bitmapFromBase64(input.getString("image"))!!
617
- if (input.has("light")) light = input.getInt("light")
618
- if (input.has("pageIndex")) pageIndex = input.getInt("pageIndex")
619
-
620
- return ImageInputData(image, light, pageIndex)
621
- }
622
-
623
- fun generateImageInputData(temp: ImageInputData?): JSONObject? {
624
- val result = JSONObject()
625
- temp ?: return null
626
- val input: ImageInputData = temp
627
-
628
- result.put("image", bitmapToBase64(input.bitmap))
629
- result.put("light", input.light)
630
- result.put("pageIndex", input.pageIndex)
631
-
632
- return result
633
- }
634
-
635
- fun pkdCertificateFromJSON(temp: JSONObject?): PKDCertificate? {
636
- temp ?: return null
637
- val input: JSONObject = temp
638
- var resourceType = 0
639
- var binaryData = ByteArray(0)
640
-
641
- if (input.has("resourceType")) resourceType = input.getInt("resourceType")
642
- if (input.has("binaryData")) binaryData = byteArrayFromBase64(input.getString("binaryData"))!!
643
- if (input.has("privateKey")) {
644
- val privateKey = byteArrayFromBase64(input.getString("privateKey"))
645
- return PKDCertificate(binaryData, resourceType, privateKey)
646
- }
647
- return PKDCertificate(binaryData, resourceType)
648
- }
649
-
650
- fun generatePKDCertificate(temp: PKDCertificate?): JSONObject? {
651
- val result = JSONObject()
652
- temp ?: return null
653
- val input: PKDCertificate = temp
654
-
655
- result.put("resourceType", input.resourceType)
656
- result.put("binaryData", generateByteArray(input.binaryData))
657
- result.put("privateKey", generateByteArray(input.privateKey))
658
-
659
- return result
660
- }
661
-
662
- fun documentReaderScenarioFromJSON(temp: JSONObject?): DocumentReaderScenario? {
663
- temp ?: return null
664
- val input: JSONObject = temp
665
-
666
- val name = input.optString("name")
667
- val caption = input.optString("caption")
668
- val description = input.optString("description")
669
- val multiPageOff = input.optBoolean("multiPageOff")
670
- val frameKWHLandscape = input.optDouble("frameKWHLandscape")
671
- val frameKWHPortrait = input.optDouble("frameKWHPortrait")
672
- val frameKWHDoublePageSpreadPortrait = input.optDouble("frameKWHDoublePageSpreadPortrait")
673
- val frameKWHDoublePageSpreadLandscape = input.optDouble("frameKWHDoublePageSpreadLandscape")
674
- val frameOrientation = input.optInt("frameOrientation")
675
- val uvTorch = input.optBoolean("uvTorch")
676
- val faceExt = input.optBoolean("faceExt")
677
- val seriesProcessMode = input.optBoolean("seriesProcessMode")
678
- val manualCrop = input.optBoolean("manualCrop")
679
-
680
- return DocumentReaderScenario(name, caption, description, if (multiPageOff) 1 else 0, frameKWHLandscape, frameKWHPortrait, frameKWHDoublePageSpreadPortrait, frameKWHDoublePageSpreadLandscape, frameOrientation, uvTorch, faceExt, seriesProcessMode, manualCrop, null)
681
- }
682
-
683
- fun generateDocumentReaderScenario(temp: DocumentReaderScenario?): JSONObject? {
684
- val result = JSONObject()
685
- temp ?: return null
686
- val input: DocumentReaderScenario = temp
687
-
688
- result.put("name", input.name)
689
- result.put("caption", input.caption)
690
- result.put("description", input.description)
691
- result.put("multiPageOff", input.multiPageOff)
692
- result.put("frameKWHLandscape", input.frameKWHLandscape)
693
- result.put("frameKWHPortrait", input.frameKWHPortrait)
694
- result.put("frameKWHDoublePageSpreadPortrait", input.frameKWHDoublePageSpreadPortrait)
695
- result.put("frameKWHDoublePageSpreadLandscape", input.frameKWHDoublePageSpreadLandscape)
696
- result.put("frameOrientation", input.frameOrientation)
697
- result.put("uvTorch", input.uvTorch)
698
- result.put("faceExt", input.faceExt)
699
- result.put("seriesProcessMode", input.seriesProcessMode)
700
- result.put("manualCrop", input.manualCrop)
701
-
702
- return result
703
- }
704
-
705
- fun rectFromJSON(temp: JSONObject?): Rect? {
706
- temp ?: return null
707
- val input: JSONObject = temp
708
- val result = Rect()
709
-
710
- result.bottom = input.optInt("bottom")
711
- result.top = input.optInt("top")
712
- result.left = input.optInt("left")
713
- result.right = input.optInt("right")
714
-
715
- return result
716
- }
717
-
718
- fun generateRect(temp: Rect?): JSONObject? {
719
- val result = JSONObject()
720
- temp ?: return null
721
- val input: Rect = temp
722
-
723
- result.put("bottom", input.bottom)
724
- result.put("top", input.top)
725
- result.put("left", input.left)
726
- result.put("right", input.right)
727
-
728
- return result
729
- }
730
-
731
- fun docReaderFieldRectFromJSON(temp: JSONObject?): DocReaderFieldRect? {
732
- temp ?: return null
733
- val input: JSONObject = temp
734
- val result = DocReaderFieldRect()
735
-
736
- result.bottom = input.optInt("bottom")
737
- result.top = input.optInt("top")
738
- result.left = input.optInt("left")
739
- result.right = input.optInt("right")
740
-
741
- return result
742
- }
743
-
744
- fun generateDocReaderFieldRect(temp: DocReaderFieldRect?): JSONObject? {
745
- val result = JSONObject()
746
- temp ?: return null
747
- val input: DocReaderFieldRect = temp
748
-
749
- result.put("bottom", input.bottom)
750
- result.put("top", input.top)
751
- result.put("left", input.left)
752
- result.put("right", input.right)
753
-
754
- return result
755
- }
756
-
757
- fun documentReaderGraphicFieldFromJSON(temp: JSONObject?): DocumentReaderGraphicField? {
758
- temp ?: return null
759
- val input: JSONObject = temp
760
- val result = DocumentReaderGraphicField()
761
-
762
- input.remove("value")
763
- result.sourceType = input.optInt("sourceType")
764
- result.fieldType = input.optInt("fieldType")
765
- result.light = input.optInt("light")
766
- result.pageIndex = input.optInt("pageIndex")
767
- result.originalPageIndex = input.optInt("originalPageIndex")
768
- result.boundRect = docReaderFieldRectFromJSON(input.optJSONObject("fieldRect"))
769
-
770
- return result
771
- }
772
-
773
- fun generateDocumentReaderGraphicField(temp: DocumentReaderGraphicField?, context: Context?): JSONObject? {
774
- val result = JSONObject()
775
- temp ?: return null
776
- val input: DocumentReaderGraphicField = temp
777
-
778
- result.put("sourceType", input.sourceType)
779
- result.put("fieldType", input.fieldType)
780
- result.put("light", input.light)
781
- result.put("pageIndex", input.pageIndex)
782
- result.put("originalPageIndex", input.originalPageIndex)
783
- result.put("fieldName", eGraphicFieldType.getTranslation(context, input.fieldType))
784
- result.put("lightName", eRPRM_Lights.getTranslation(context, input.light))
785
- result.put("value", input.imageBase64())
786
- result.put("fieldRect", generateDocReaderFieldRect(input.boundRect))
787
-
788
- return result
789
- }
790
-
791
- fun documentReaderGraphicResultFromJSON(temp: JSONObject?): DocumentReaderGraphicResult? {
792
- temp ?: return null
793
- val input: JSONObject = temp
794
- val result = DocumentReaderGraphicResult()
795
-
796
- result.fields = listFromJSON(input.optJSONArray("fields"), ::documentReaderGraphicFieldFromJSON)!!
797
-
798
- return result
799
- }
800
-
801
- fun generateDocumentReaderGraphicResult(temp: DocumentReaderGraphicResult?, context: Context?): JSONObject? {
802
- val result = JSONObject()
803
- temp ?: return null
804
- val input: DocumentReaderGraphicResult = temp
805
-
806
- result.put("fields", generateList(input.fields, ::generateDocumentReaderGraphicField, context))
807
-
808
- return result
809
- }
810
-
811
- fun documentReaderValueFromJSON(temp: JSONObject?): DocumentReaderValue? {
812
- temp ?: return null
813
- val input: JSONObject = temp
814
- val result = DocumentReaderValue()
815
-
816
- result.pageIndex = input.optInt("pageIndex")
817
- result.sourceType = input.optInt("sourceType")
818
- result.probability = input.optInt("probability")
819
- result.value = input.optString("value")
820
- result.originalValue = input.optString("originalValue")
821
- result.boundRect = rectFromJSON(input.optJSONObject("boundRect"))
822
- result.originalSymbols = listFromJSON(input.optJSONArray("originalSymbols"), ::documentReaderSymbolFromJSON)!!
823
- result.rfidOrigin = documentReaderRFIDOriginFromJSON(input.optJSONObject("rfidOrigin"))
824
-
825
- return result
826
- }
827
-
828
- fun generateDocumentReaderValue(temp: DocumentReaderValue?): JSONObject? {
829
- val result = JSONObject()
830
- temp ?: return null
831
- val input: DocumentReaderValue = temp
832
-
833
- result.put("pageIndex", input.pageIndex)
834
- result.put("sourceType", input.sourceType)
835
- result.put("probability", input.probability)
836
- result.put("value", input.value)
837
- result.put("originalValue", input.originalValue)
838
- result.put("boundRect", generateRect(input.boundRect))
839
- result.put("originalSymbols", generateList(input.originalSymbols, ::generateDocumentReaderSymbol))
840
- result.put("rfidOrigin", generateDocumentReaderRFIDOrigin(input.rfidOrigin))
841
-
842
- return result
843
- }
844
-
845
- fun documentReaderTextFieldFromJSON(temp: JSONObject?): DocumentReaderTextField? {
846
- temp ?: return null
847
- val input: JSONObject = temp
848
- val result = DocumentReaderTextField()
849
-
850
- input.remove("getValue")
851
- result.fieldType = input.optInt("fieldType")
852
- result.lcid = input.optInt("lcid")
853
- result.status = input.optInt("status")
854
- result.value = input.optString("value")
855
- result.values = listFromJSON(input.optJSONArray("values"), ::documentReaderValueFromJSON)!!
856
- result.comparisonList = listFromJSON(input.optJSONArray("comparisonList"), ::documentReaderComparisonFromJSON)!!
857
- result.validityList = listFromJSON(input.optJSONArray("validityList"), ::documentReaderValidityFromJSON)!!
858
- result.comparisonStatus = input.optInt("comparisonStatus")
859
- result.validityStatus = input.optInt("validityStatus")
860
-
861
- return result
862
- }
863
-
864
- fun generateDocumentReaderTextField(temp: DocumentReaderTextField?, context: Context?): JSONObject? {
865
- val result = JSONObject()
866
- temp ?: return null
867
- val input: DocumentReaderTextField = temp
868
-
869
- result.put("fieldType", input.fieldType)
870
- result.put("lcid", input.lcid)
871
- result.put("status", input.status)
872
- result.put("lcidName", input.getLcidName(context!!))
873
- result.put("fieldName", input.getFieldName(context))
874
- result.put("value", input.value)
875
- result.put("getValue", generateDocumentReaderValue(input.value()))
876
- result.put("values", generateList(input.values, ::generateDocumentReaderValue))
877
- result.put("comparisonList", generateList(input.comparisonList, ::generateDocumentReaderComparison))
878
- result.put("validityList", generateList(input.validityList, ::generateDocumentReaderValidity))
879
- result.put("comparisonStatus", input.comparisonStatus)
880
- result.put("validityStatus", input.validityStatus)
881
-
882
- return result
883
- }
884
-
885
- fun documentReaderTextResultFromJSON(temp: JSONObject?): DocumentReaderTextResult? {
886
- temp ?: return null
887
- val input: JSONObject = temp
888
- val result = DocumentReaderTextResult()
889
-
890
- result.status = input.optInt("status")
891
- result.comparisonStatus = input.optInt("comparisonStatus")
892
- result.validityStatus = input.optInt("validityStatus")
893
- result.availableSourceList = listFromJSON(input.optJSONArray("availableSourceList"), ::documentReaderTextSourceFromJSON)!!
894
- result.fields = listFromJSON(input.optJSONArray("fields"), ::documentReaderTextFieldFromJSON)!!
895
-
896
- return result
897
- }
898
-
899
- fun generateDocumentReaderTextResult(temp: DocumentReaderTextResult?, context: Context?): JSONObject? {
900
- val result = JSONObject()
901
- temp ?: return null
902
- val input: DocumentReaderTextResult = temp
903
-
904
- result.put("status", input.status)
905
- result.put("comparisonStatus", input.comparisonStatus)
906
- result.put("validityStatus", input.validityStatus)
907
- result.put("availableSourceList", generateList(input.availableSourceList, ::generateDocumentReaderTextSource))
908
- result.put("fields", generateList(input.fields, ::generateDocumentReaderTextField, context))
909
-
910
- return result
911
- }
912
-
913
- fun coordinateFromJSON(temp: JSONObject?): Coordinate? {
914
- temp ?: return null
915
- val input: JSONObject = temp
916
- val result = Coordinate()
917
-
918
- result.x = input.optInt("x")
919
- result.y = input.optInt("y")
920
-
921
- return result
922
- }
923
-
924
- fun generateCoordinate(temp: Coordinate?): JSONObject? {
925
- val result = JSONObject()
926
- temp ?: return null
927
- val input: Coordinate = temp
928
-
929
- result.put("x", input.x)
930
- result.put("y", input.y)
931
-
932
- return result
933
- }
934
-
935
- fun elementPositionFromJSON(temp: JSONObject?): ElementPosition? {
936
- temp ?: return null
937
- val input: JSONObject = temp
938
- val result = ElementPosition()
939
-
940
- result.docFormat = input.optInt("docFormat")
941
- result.width = input.optInt("width")
942
- result.height = input.optInt("height")
943
- result.dpi = input.optInt("dpi")
944
- result.pageIndex = input.optInt("pageIndex")
945
- result.inverse = input.optInt("inverse")
946
- result.perspectiveTr = input.optInt("perspectiveTr")
947
- result.objArea = input.optInt("objArea")
948
- result.objIntAngleDev = input.optInt("objIntAngleDev")
949
- result.resultStatus = input.optInt("resultStatus")
950
- result.angle = input.optDouble("angle")
951
- result.center = coordinateFromJSON(input.optJSONObject("center"))
952
- result.leftTop = coordinateFromJSON(input.optJSONObject("leftTop"))
953
- result.leftBottom = coordinateFromJSON(input.optJSONObject("leftBottom"))
954
- result.rightTop = coordinateFromJSON(input.optJSONObject("rightTop"))
955
- result.rightBottom = coordinateFromJSON(input.optJSONObject("rightBottom"))
956
-
957
- return result
958
- }
959
-
960
- fun generateElementPosition(temp: ElementPosition?): JSONObject? {
961
- val result = JSONObject()
962
- temp ?: return null
963
- val input: ElementPosition = temp
964
-
965
- result.put("docFormat", input.docFormat)
966
- result.put("width", input.width)
967
- result.put("height", input.height)
968
- result.put("dpi", input.dpi)
969
- result.put("pageIndex", input.pageIndex)
970
- result.put("inverse", input.inverse)
971
- result.put("perspectiveTr", input.perspectiveTr)
972
- result.put("objArea", input.objArea)
973
- result.put("objIntAngleDev", input.objIntAngleDev)
974
- result.put("resultStatus", input.resultStatus)
975
- result.put("angle", input.angle)
976
- result.put("center", generateCoordinate(input.center))
977
- result.put("leftTop", generateCoordinate(input.leftTop))
978
- result.put("leftBottom", generateCoordinate(input.leftBottom))
979
- result.put("rightTop", generateCoordinate(input.rightTop))
980
- result.put("rightBottom", generateCoordinate(input.rightBottom))
981
-
982
- return result
983
- }
984
-
985
- fun imageQualityFromJSON(temp: JSONObject?): ImageQuality? {
986
- temp ?: return null
987
- val input: JSONObject = temp
988
- val result = ImageQuality()
989
-
990
- result.featureType = input.optInt("featureType")
991
- result.result = input.optInt("result")
992
- result.type = input.optInt("type")
993
- result.boundRects = listFromJSON(input.optJSONArray("boundRects"), ::docReaderFieldRectFromJSON)!!
994
-
995
- return result
996
- }
997
-
998
- fun generateImageQuality(temp: ImageQuality?): JSONObject? {
999
- val result = JSONObject()
1000
- temp ?: return null
1001
- val input: ImageQuality = temp
1002
-
1003
- result.put("featureType", input.featureType)
1004
- result.put("result", input.result)
1005
- result.put("type", input.type)
1006
- result.put("boundRects", generateList(input.boundRects, ::generateDocReaderFieldRect))
1007
-
1008
- return result
1009
- }
1010
-
1011
- fun imageQualityGroupFromJSON(temp: JSONObject?): ImageQualityGroup? {
1012
- temp ?: return null
1013
- val input: JSONObject = temp
1014
- val result = ImageQualityGroup()
1015
-
1016
- result.count = input.optInt("count")
1017
- result.result = input.optInt("result")
1018
- result.pageIndex = input.optInt("pageIndex")
1019
- result.imageQualityList = listFromJSON(input.optJSONArray("imageQualityList"), ::imageQualityFromJSON)!!
1020
-
1021
- return result
1022
- }
1023
-
1024
- fun generateImageQualityGroup(temp: ImageQualityGroup?): JSONObject? {
1025
- val result = JSONObject()
1026
- temp ?: return null
1027
- val input: ImageQualityGroup = temp
1028
-
1029
- result.put("count", input.count)
1030
- result.put("result", input.result)
1031
- result.put("imageQualityList", generateList(input.imageQualityList, ::generateImageQuality))
1032
- result.put("pageIndex", input.pageIndex)
1033
-
1034
- return result
1035
- }
1036
-
1037
- fun cameraSizeFromJSON(input: JSONObject): Pair<Int, Int> {
1038
- val width = input.getInt("width")
1039
- val height = input.getInt("height")
1040
- return Pair(width, height)
1041
- }
1042
-
1043
- fun generateCameraSize(width: Int?, height: Int?): JSONObject? {
1044
- width ?: return null
1045
- height ?: return null
1046
- val result = JSONObject()
1047
- result.put("width", width)
1048
- result.put("height", height)
1049
- return result
1050
- }
1051
-
1052
- fun documentReaderDocumentTypeFromJSON(temp: JSONObject?): DocumentReaderDocumentType? {
1053
- temp ?: return null
1054
- val input: JSONObject = temp
1055
- val result = DocumentReaderDocumentType()
1056
-
1057
- result.pageIndex = input.optInt("pageIndex")
1058
- result.documentID = input.optInt("documentID")
1059
- result.dType = input.optInt("dType")
1060
- result.dFormat = input.optInt("dFormat")
1061
- result.dMRZ = input.optBoolean("dMRZ")
1062
- result.isDeprecated = input.optBoolean("isDeprecated")
1063
- result.name = input.optString("name")
1064
- result.ICAOCode = input.optString("ICAOCode")
1065
- result.dDescription = input.optString("dDescription")
1066
- result.dCountryName = input.optString("dCountryName")
1067
- result.dYear = input.optString("dYear")
1068
- result.FDSID = input.optJSONArray("FDSID").toIntArray()
1069
-
1070
- return result
1071
- }
1072
-
1073
- fun generateDocumentReaderDocumentType(temp: DocumentReaderDocumentType?): JSONObject? {
1074
- val result = JSONObject()
1075
- temp ?: return null
1076
- val input: DocumentReaderDocumentType = temp
1077
-
1078
- result.put("pageIndex", input.pageIndex)
1079
- result.put("documentID", input.documentID)
1080
- result.put("dType", input.dType)
1081
- result.put("dFormat", input.dFormat)
1082
- result.put("dMRZ", input.dMRZ)
1083
- result.put("isDeprecated", input.isDeprecated)
1084
- result.put("name", input.name)
1085
- result.put("ICAOCode", input.ICAOCode)
1086
- result.put("dDescription", input.dDescription)
1087
- result.put("dYear", input.dYear)
1088
- result.put("dCountryName", input.dCountryName)
1089
- result.put("FDSID", input.FDSID.generate())
1090
-
1091
- return result
1092
- }
1093
-
1094
- fun generateDocumentReaderNotification(temp: DocumentReaderNotification?): JSONObject? {
1095
- val result = JSONObject()
1096
- temp ?: return null
1097
- val input: DocumentReaderNotification = temp
1098
-
1099
- result.put("notificationCode", input.notificationCode)
1100
- result.put("dataFileType", input.dataFileType)
1101
- result.put("progress", input.progress)
1102
-
1103
- return result
1104
- }
1105
-
1106
- fun accessControlProcedureTypeFromJSON(temp: JSONObject?): AccessControlProcedureType? {
1107
- temp ?: return null
1108
- val input: JSONObject = temp
1109
- val result = AccessControlProcedureType()
1110
-
1111
- result.activeOptionIdx = input.optInt("activeOptionIdx")
1112
- result.type = input.optInt("type")
1113
- result.status = input.optInt("status").toLong()
1114
- result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
1115
-
1116
- return result
1117
- }
1118
-
1119
- fun generateAccessControlProcedureType(temp: AccessControlProcedureType?): JSONObject? {
1120
- val result = JSONObject()
1121
- temp ?: return null
1122
- val input: AccessControlProcedureType = temp
1123
-
1124
- result.put("activeOptionIdx", input.activeOptionIdx)
1125
- result.put("type", input.type)
1126
- result.put("status", input.status)
1127
- result.put("notifications", generateList(input.notifications))
1128
-
1129
- return result
1130
- }
1131
-
1132
- fun fileDataFromJSON(temp: JSONObject?): FileData? {
1133
- temp ?: return null
1134
- val input: JSONObject = temp
1135
- val result = FileData()
1136
-
1137
- result.length = input.optInt("length")
1138
- result.type = input.optInt("type")
1139
- result.status = input.optInt("status").toLong()
1140
- result.data = input.optString("data")
1141
-
1142
- return result
1143
- }
1144
-
1145
- fun generateFileData(temp: FileData?): JSONObject? {
1146
- val result = JSONObject()
1147
- temp ?: return null
1148
- val input: FileData = temp
1149
-
1150
- result.put("length", input.length)
1151
- result.put("type", input.type)
1152
- result.put("status", input.status)
1153
- result.put("data", input.data)
1154
-
1155
- return result
1156
- }
1157
-
1158
- fun certificateDataFromJSON(temp: JSONObject?): CertificateData? {
1159
- temp ?: return null
1160
- val input: JSONObject = temp
1161
- val result = CertificateData()
1162
-
1163
- result.length = input.optInt("length")
1164
- result.data = input.optString("data")
1165
-
1166
- return result
1167
- }
1168
-
1169
- fun generateCertificateData(temp: CertificateData?): JSONObject? {
1170
- val result = JSONObject()
1171
- temp ?: return null
1172
- val input: CertificateData = temp
1173
-
1174
- result.put("length", input.length)
1175
- result.put("data", input.data)
1176
-
1177
- return result
1178
- }
1179
-
1180
- fun securityObjectCertificatesFromJSON(temp: JSONObject?): SecurityObjectCertificates? {
1181
- temp ?: return null
1182
- val input: JSONObject = temp
1183
- val result = SecurityObjectCertificates()
1184
-
1185
- result.securityObject = certificateDataFromJSON(input.optJSONObject("securityObject"))
1186
-
1187
- return result
1188
- }
1189
-
1190
- fun generateSecurityObjectCertificates(temp: SecurityObjectCertificates?): JSONObject? {
1191
- val result = JSONObject()
1192
- temp ?: return null
1193
- val input: SecurityObjectCertificates = temp
1194
-
1195
- result.put("securityObject", generateCertificateData(input.securityObject))
1196
-
1197
- return result
1198
- }
1199
-
1200
- fun fileFromJSON(temp: JSONObject?): File? {
1201
- temp ?: return null
1202
- val input: JSONObject = temp
1203
- val result = File()
1204
-
1205
- result.readingTime = input.optInt("readingTime")
1206
- result.type = input.optInt("type")
1207
- result.pAStatus = input.optLong("pAStatus")
1208
- result.readingStatus = input.optInt("readingStatus").toLong()
1209
- result.fileID = input.optString("fileID")
1210
- result.fileData = fileDataFromJSON(input.optJSONObject("fileData"))
1211
- result.certificates = securityObjectCertificatesFromJSON(input.optJSONObject("certificates"))
1212
- result.docFieldsText = listFromJSON(input.optJSONArray("docFieldsText")!!)
1213
- result.docFieldsGraphics = listFromJSON(input.optJSONArray("docFieldsGraphics")!!)
1214
- result.docFieldsOriginals = listFromJSON(input.optJSONArray("docFieldsOriginals")!!)
1215
- result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
1216
-
1217
- return result
1218
- }
1219
-
1220
- fun generateFile(temp: File?, context: Context?): JSONObject? {
1221
- val result = JSONObject()
1222
- temp ?: return null
1223
- val input: File = temp
1224
-
1225
- result.put("readingTime", input.readingTime)
1226
- result.put("type", input.type)
1227
- result.put("typeName", eRFID_DataFile_Type.getTranslation(context, input.type))
1228
- result.put("pAStatus", input.pAStatus)
1229
- result.put("readingStatus", input.readingStatus)
1230
- result.put("fileID", input.fileID)
1231
- result.put("fileData", generateFileData(input.fileData))
1232
- result.put("certificates", generateSecurityObjectCertificates(input.certificates))
1233
- result.put("docFieldsText", generateList(input.docFieldsText))
1234
- result.put("docFieldsGraphics", generateList(input.docFieldsGraphics))
1235
- result.put("docFieldsOriginals", generateList(input.docFieldsOriginals))
1236
- result.put("notifications", generateList(input.notifications))
1237
-
1238
- return result
1239
- }
1240
-
1241
- fun applicationFromJSON(temp: JSONObject?): Application? {
1242
- temp ?: return null
1243
- val input: JSONObject = temp
1244
- val result = Application()
1245
-
1246
- result.type = input.optInt("type")
1247
- result.status = input.optInt("status")
1248
- result.applicationID = input.optString("applicationID")
1249
- result.dataHashAlgorithm = input.optString("dataHashAlgorithm")
1250
- result.unicodeVersion = input.optString("unicodeVersion")
1251
- result.version = input.optString("version")
1252
- result.files = listFromJSON(input.optJSONArray("files"), ::fileFromJSON)!!
1253
-
1254
- return result
1255
- }
1256
-
1257
- fun generateApplication(temp: Application?, context: Context?): JSONObject? {
1258
- val result = JSONObject()
1259
- temp ?: return null
1260
- val input: Application = temp
1261
-
1262
- result.put("type", input.type)
1263
- result.put("status", input.status)
1264
- result.put("applicationID", input.applicationID)
1265
- result.put("dataHashAlgorithm", input.dataHashAlgorithm)
1266
- result.put("unicodeVersion", input.unicodeVersion)
1267
- result.put("version", input.version)
1268
- result.put("files", generateList(input.files, ::generateFile, context))
1269
-
1270
- return result
1271
- }
1272
-
1273
- fun valueFromJSON(temp: JSONObject?): Value? {
1274
- temp ?: return null
1275
- val input: JSONObject = temp
1276
- val result = Value()
1277
-
1278
- result.length = input.optInt("length")
1279
- result.type = input.optInt("type")
1280
- result.status = input.optInt("status").toLong()
1281
- result.data = input.optString("data")
1282
- result.format = input.optString("format")
1283
-
1284
- return result
1285
- }
1286
-
1287
- fun generateValue(temp: Value?): JSONObject? {
1288
- val result = JSONObject()
1289
- temp ?: return null
1290
- val input: Value = temp
1291
-
1292
- result.put("length", input.length)
1293
- result.put("type", input.type)
1294
- result.put("status", input.status)
1295
- result.put("data", input.data)
1296
- result.put("format", input.format)
1297
-
1298
- return result
1299
- }
1300
-
1301
- fun attributeFromJSON(temp: JSONObject?): Attribute? {
1302
- temp ?: return null
1303
- val input: JSONObject = temp
1304
- val result = Attribute()
1305
-
1306
- result.type = input.optString("type")
1307
- result.value = valueFromJSON(input.optJSONObject("value"))
1308
-
1309
- return result
1310
- }
1311
-
1312
- fun generateAttribute(temp: Attribute?): JSONObject? {
1313
- val result = JSONObject()
1314
- temp ?: return null
1315
- val input: Attribute = temp
1316
-
1317
- result.put("type", input.type)
1318
- result.put("value", generateValue(input.value))
1319
-
1320
- return result
1321
- }
1322
-
1323
- fun authorityFromJSON(temp: JSONObject?): Authority? {
1324
- temp ?: return null
1325
- val input: JSONObject = temp
1326
- val result = Authority()
1327
-
1328
- result.data = input.optString("data")
1329
- result.friendlyName = valueFromJSON(input.optJSONObject("friendlyName"))
1330
- result.attributes = listFromJSON(input.optJSONArray("attributes"), ::attributeFromJSON)!!
1331
-
1332
- return result
1333
- }
1334
-
1335
- fun generateAuthority(temp: Authority?): JSONObject? {
1336
- val result = JSONObject()
1337
- temp ?: return null
1338
- val input: Authority = temp
1339
-
1340
- result.put("data", input.data)
1341
- result.put("friendlyName", generateValue(input.friendlyName))
1342
- result.put("attributes", generateList(input.attributes, ::generateAttribute))
1343
-
1344
- return result
1345
- }
1346
-
1347
- fun extensionFromJSON(temp: JSONObject?): Extension? {
1348
- temp ?: return null
1349
- val input: JSONObject = temp
1350
- val result = Extension()
1351
-
1352
- result.data = input.optString("data")
1353
- result.type = input.optString("type")
1354
-
1355
- return result
1356
- }
1357
-
1358
- fun generateExtension(temp: Extension?): JSONObject? {
1359
- val result = JSONObject()
1360
- temp ?: return null
1361
- val input: Extension = temp
1362
-
1363
- result.put("data", input.data)
1364
- result.put("type", input.type)
1365
-
1366
- return result
1367
- }
1368
-
1369
- fun validityFromJSON(temp: JSONObject?): Validity? {
1370
- temp ?: return null
1371
- val input: JSONObject = temp
1372
- val result = Validity()
1373
-
1374
- result.notAfter = valueFromJSON(input.optJSONObject("notAfter"))
1375
- result.notBefore = valueFromJSON(input.optJSONObject("notBefore"))
1376
-
1377
- return result
1378
- }
1379
-
1380
- fun generateValidity(temp: Validity?): JSONObject? {
1381
- val result = JSONObject()
1382
- temp ?: return null
1383
- val input: Validity = temp
1384
-
1385
- result.put("notAfter", generateValue(input.notAfter))
1386
- result.put("notBefore", generateValue(input.notBefore))
1387
-
1388
- return result
1389
- }
1390
-
1391
- fun certificateChainFromJSON(temp: JSONObject?): CertificateChain? {
1392
- temp ?: return null
1393
- val input: JSONObject = temp
1394
- val result = CertificateChain()
1395
-
1396
- result.origin = input.optInt("origin")
1397
- result.type = input.optInt("type")
1398
- result.version = input.optInt("version")
1399
- result.paStatus = input.optInt("paStatus").toLong()
1400
- result.serialNumber = input.optString("serialNumber")
1401
- result.signatureAlgorithm = input.optString("signatureAlgorithm")
1402
- result.subjectPKAlgorithm = input.optString("subjectPKAlgorithm")
1403
- result.fileName = valueFromJSON(input.optJSONObject("fileName"))
1404
- result.validity = validityFromJSON(input.optJSONObject("validity"))
1405
- result.issuer = authorityFromJSON(input.optJSONObject("issuer"))
1406
- result.subject = authorityFromJSON(input.optJSONObject("subject"))
1407
- result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
1408
- result.extensions = listFromJSON(input.optJSONArray("extensions"), ::extensionFromJSON)!!
1409
-
1410
- return result
1411
- }
1412
-
1413
- fun generateCertificateChain(temp: CertificateChain?): JSONObject? {
1414
- val result = JSONObject()
1415
- temp ?: return null
1416
- val input: CertificateChain = temp
1417
-
1418
- result.put("origin", input.origin)
1419
- result.put("type", input.type)
1420
- result.put("version", input.version)
1421
- result.put("paStatus", input.paStatus)
1422
- result.put("serialNumber", input.serialNumber)
1423
- result.put("signatureAlgorithm", input.signatureAlgorithm)
1424
- result.put("subjectPKAlgorithm", input.subjectPKAlgorithm)
1425
- result.put("fileName", generateValue(input.fileName))
1426
- result.put("validity", generateValidity(input.validity))
1427
- result.put("issuer", generateAuthority(input.issuer))
1428
- result.put("subject", generateAuthority(input.subject))
1429
- result.put("notifications", generateList(input.notifications))
1430
- result.put("extensions", generateList(input.extensions, ::generateExtension))
1431
-
1432
- return result
1433
- }
1434
-
1435
- fun signerInfoFromJSON(temp: JSONObject?): SignerInfo? {
1436
- temp ?: return null
1437
- val input: JSONObject = temp
1438
- val result = SignerInfo()
1439
-
1440
- result.version = input.optInt("version")
1441
- result.paStatus = input.optInt("paStatus").toLong()
1442
- result.dataToHash = input.optString("dataToHash")
1443
- result.digestAlgorithm = input.optString("digestAlgorithm")
1444
- result.signatureAlgorithm = input.optString("signatureAlgorithm")
1445
- result.serialNumber = valueFromJSON(input.optJSONObject("serialNumber"))
1446
- result.signature = valueFromJSON(input.optJSONObject("signature"))
1447
- result.subjectKeyIdentifier = valueFromJSON(input.optJSONObject("subjectKeyIdentifier"))
1448
- result.issuer = authorityFromJSON(input.optJSONObject("issuer"))
1449
- result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
1450
- result.signedAttributes = listFromJSON(input.optJSONArray("signedAttributes"), ::extensionFromJSON)!!
1451
- result.certificateChain = listFromJSON(input.optJSONArray("certificateChain"), ::certificateChainFromJSON)!!
1452
-
1453
- return result
1454
- }
1455
-
1456
- fun generateSignerInfo(temp: SignerInfo?): JSONObject? {
1457
- val result = JSONObject()
1458
- temp ?: return null
1459
- val input: SignerInfo = temp
1460
-
1461
- result.put("version", input.version)
1462
- result.put("paStatus", input.paStatus)
1463
- result.put("dataToHash", input.dataToHash)
1464
- result.put("digestAlgorithm", input.digestAlgorithm)
1465
- result.put("signatureAlgorithm", input.signatureAlgorithm)
1466
- result.put("serialNumber", generateValue(input.serialNumber))
1467
- result.put("signature", generateValue(input.signature))
1468
- result.put("subjectKeyIdentifier", generateValue(input.subjectKeyIdentifier))
1469
- result.put("issuer", generateAuthority(input.issuer))
1470
- result.put("notifications", generateList(input.notifications))
1471
- result.put("signedAttributes", generateList(input.signedAttributes, ::generateExtension))
1472
- result.put("certificateChain", generateList(input.certificateChain, ::generateCertificateChain))
1473
-
1474
- return result
1475
- }
1476
-
1477
- fun securityObjectFromJSON(temp: JSONObject?): SecurityObject? {
1478
- temp ?: return null
1479
- val input: JSONObject = temp
1480
- val result = SecurityObject()
1481
-
1482
- result.fileReference = input.optInt("fileReference")
1483
- result.version = input.optInt("version")
1484
- result.objectType = input.optString("objectType")
1485
- result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
1486
- result.signerInfos = listFromJSON(input.optJSONArray("signerInfos"), ::signerInfoFromJSON)!!
1487
-
1488
- return result
1489
- }
1490
-
1491
- fun generateSecurityObject(temp: SecurityObject?): JSONObject? {
1492
- val result = JSONObject()
1493
- temp ?: return null
1494
- val input: SecurityObject = temp
1495
-
1496
- result.put("fileReference", input.fileReference)
1497
- result.put("version", input.version)
1498
- result.put("objectType", input.objectType)
1499
- result.put("notifications", generateList(input.notifications))
1500
- result.put("signerInfos", generateList(input.signerInfos, ::generateSignerInfo))
1501
-
1502
- return result
1503
- }
1504
-
1505
- fun cardPropertiesFromJSON(temp: JSONObject?): CardProperties? {
1506
- temp ?: return null
1507
- val input: JSONObject = temp
1508
- val result = CardProperties()
1509
-
1510
- result.aTQA = input.optInt("aTQA")
1511
- result.bitRateR = input.optInt("bitRateR")
1512
- result.bitRateS = input.optInt("bitRateS")
1513
- result.chipTypeA = input.optInt("chipTypeA")
1514
- result.mifareMemory = input.optInt("mifareMemory")
1515
- result.rfidType = input.optInt("rfidType")
1516
- result.sAK = input.optInt("sAK")
1517
- result.support4 = input.optBoolean("support4")
1518
- result.supportMifare = input.optBoolean("supportMifare")
1519
- result.aTQB = input.optString("aTQB")
1520
- result.aTR = input.optString("aTR")
1521
- result.baudrate1 = input.optString("baudrate1")
1522
- result.baudrate2 = input.optString("baudrate2")
1523
- result.uID = input.optString("uID")
1524
-
1525
- return result
1526
- }
1527
-
1528
- fun generateCardProperties(temp: CardProperties?): JSONObject? {
1529
- val result = JSONObject()
1530
- temp ?: return null
1531
- val input: CardProperties = temp
1532
-
1533
- result.put("aTQA", input.aTQA)
1534
- result.put("bitRateR", input.bitRateR)
1535
- result.put("bitRateS", input.bitRateS)
1536
- result.put("chipTypeA", input.chipTypeA)
1537
- result.put("mifareMemory", input.mifareMemory)
1538
- result.put("rfidType", input.rfidType)
1539
- result.put("sAK", input.sAK)
1540
- result.put("support4", input.support4)
1541
- result.put("supportMifare", input.supportMifare)
1542
- result.put("aTQB", input.aTQB)
1543
- result.put("aTR", input.aTR)
1544
- result.put("baudrate1", input.baudrate1)
1545
- result.put("baudrate2", input.baudrate2)
1546
- result.put("uID", input.uID)
1547
-
1548
- return result
1549
- }
1550
-
1551
- fun rfidSessionDataFromJSON(temp: JSONObject?): RFIDSessionData? {
1552
- temp ?: return null
1553
- val input: JSONObject = temp
1554
- val result = RFIDSessionData()
1555
-
1556
- result.totalBytesReceived = input.optInt("totalBytesReceived")
1557
- result.totalBytesSent = input.optInt("totalBytesSent")
1558
- result.status = input.optInt("status").toLong()
1559
- result.extLeSupport = input.optLong("extLeSupport")
1560
- result.processTime = input.optLong("processTime")
1561
- result.cardProperties = cardPropertiesFromJSON(input.optJSONObject("cardProperties"))
1562
- result.accessControls = listFromJSON(input.optJSONArray("accessControls"), ::accessControlProcedureTypeFromJSON)!!
1563
- result.applications = listFromJSON(input.optJSONArray("applications"), ::applicationFromJSON)!!
1564
- result.securityObjects = listFromJSON(input.optJSONArray("securityObjects"), ::securityObjectFromJSON)!!
1565
- result.dataFields = listFromJSON(input.optJSONArray("dataFields"), ::dataFieldFromJSON)!!
1566
- result.dataGroups = input.optJSONArray("dataGroups").toIntArray()
1567
-
1568
- return result
1569
- }
1570
-
1571
- fun generateRFIDSessionData(temp: RFIDSessionData?, context: Context?): JSONObject? {
1572
- val result = JSONObject()
1573
- temp ?: return null
1574
- val input: RFIDSessionData = temp
1575
-
1576
- result.put("totalBytesReceived", input.totalBytesReceived)
1577
- result.put("totalBytesSent", input.totalBytesSent)
1578
- result.put("status", input.status)
1579
- result.put("extLeSupport", input.extLeSupport)
1580
- result.put("processTime", input.processTime)
1581
- result.put("cardProperties", generateCardProperties(input.cardProperties))
1582
- result.put("accessControls", generateList(input.accessControls, ::generateAccessControlProcedureType))
1583
- result.put("applications", generateList(input.applications, ::generateApplication, context))
1584
- result.put("securityObjects", generateList(input.securityObjects, ::generateSecurityObject))
1585
- result.put("dataGroups", input.dataGroups.generate())
1586
- result.put("dataFields", generateList(input.dataFields, ::generateDataField))
1587
-
1588
- return result
1589
- }
1590
-
1591
- fun dataFieldFromJSON(temp: JSONObject?): DataField? {
1592
- temp ?: return null
1593
- val input: JSONObject = temp
1594
- val result = DataField()
1595
-
1596
- result.data = input.optString("data")
1597
- result.fieldType = input.optInt("fieldType")
1598
-
1599
- return result
1600
- }
1601
-
1602
- fun generateDataField(temp: DataField?): JSONObject? {
1603
- val result = JSONObject()
1604
- temp ?: return null
1605
- val input: DataField = temp
1606
-
1607
- result.put("data", input.data)
1608
- result.put("fieldType", input.fieldType)
1609
-
1610
- return result
1611
- }
1612
-
1613
- fun documentReaderAuthenticityCheckFromJSON(temp: JSONObject?): DocumentReaderAuthenticityCheck? {
1614
- temp ?: return null
1615
- val input: JSONObject = temp
1616
- val result = DocumentReaderAuthenticityCheck()
1617
-
1618
- result.type = input.optInt("type")
1619
- result.pageIndex = input.optInt("pageIndex")
1620
- result.elements = listFromJSON(input.optJSONArray("elements"), ::documentReaderAuthenticityElementFromJSON)!!
1621
-
1622
- return result
1623
- }
1624
-
1625
- fun generateDocumentReaderAuthenticityCheck(temp: DocumentReaderAuthenticityCheck?, context: Context?): JSONObject? {
1626
- val result = JSONObject()
1627
- temp ?: return null
1628
- val input: DocumentReaderAuthenticityCheck = temp
1629
-
1630
- result.put("type", input.type)
1631
- result.put("status", input.status)
1632
- result.put("typeName", input.getTypeName(context))
1633
- result.put("pageIndex", input.pageIndex)
1634
- result.put("elements", generateList(input.elements, ::generateDocumentReaderAuthenticityElement, context))
1635
-
1636
- return result
1637
- }
1638
-
1639
- fun pdf417InfoFromJSON(temp: JSONObject?): PDF417Info? {
1640
- temp ?: return null
1641
- val input: JSONObject = temp
1642
- val result = PDF417Info()
1643
-
1644
- result.errorLevel = input.optInt("errorLevel")
1645
- result.columns = input.optInt("columns")
1646
- result.rows = input.optInt("rows")
1647
-
1648
- return result
1649
- }
1650
-
1651
- fun generatePDF417Info(temp: PDF417Info?): JSONObject? {
1652
- val result = JSONObject()
1653
- temp ?: return null
1654
- val input: PDF417Info = temp
1655
-
1656
- result.put("errorLevel", input.errorLevel)
1657
- result.put("columns", input.columns)
1658
- result.put("rows", input.rows)
1659
-
1660
- return result
1661
- }
1662
-
1663
- fun documentReaderBarcodeResultFromJSON(temp: JSONObject?): DocumentReaderBarcodeResult? {
1664
- temp ?: return null
1665
- val input: JSONObject = temp
1666
- val result = DocumentReaderBarcodeResult()
1667
-
1668
- result.fields = listFromJSON(input.optJSONArray("fields"), ::documentReaderBarcodeFieldFromJSON)!!
1669
-
1670
- return result
1671
- }
1672
-
1673
- fun generateDocumentReaderBarcodeResult(temp: DocumentReaderBarcodeResult?): JSONObject? {
1674
- val result = JSONObject()
1675
- temp ?: return null
1676
- val input: DocumentReaderBarcodeResult = temp
1677
-
1678
- result.put("fields", generateList(input.fields, ::generateDocumentReaderBarcodeField))
1679
-
1680
- return result
1681
- }
1682
-
1683
- fun documentReaderBarcodeFieldFromJSON(temp: JSONObject?): DocumentReaderBarcodeField? {
1684
- temp ?: return null
1685
- val input: JSONObject = temp
1686
- val result = DocumentReaderBarcodeField()
1687
-
1688
- result.barcodeType = input.optInt("barcodeType")
1689
- result.status = input.optInt("status")
1690
- result.pageIndex = input.optInt("pageIndex")
1691
- result.pdf417Info = pdf417InfoFromJSON(input.optJSONObject("pdf417Info"))
1692
- result.data = byteArrayFromBase64(input.optString("data"))
1693
-
1694
- return result
1695
- }
1696
-
1697
- fun generateDocumentReaderBarcodeField(temp: DocumentReaderBarcodeField?): JSONObject? {
1698
- val result = JSONObject()
1699
- temp ?: return null
1700
- val input: DocumentReaderBarcodeField = temp
1701
-
1702
- result.put("barcodeType", input.barcodeType)
1703
- result.put("status", input.status)
1704
- result.put("pageIndex", input.pageIndex)
1705
- result.put("pdf417Info", generatePDF417Info(input.pdf417Info))
1706
- result.put("data", generateByteArray(input.data))
1707
-
1708
- return result
1709
- }
1710
-
1711
- fun documentReaderAuthenticityResultFromJSON(temp: JSONObject?): DocumentReaderAuthenticityResult? {
1712
- temp ?: return null
1713
- val input: JSONObject = temp
1714
- val result = DocumentReaderAuthenticityResult()
1715
-
1716
- result.checks = listFromJSON(input.optJSONArray("checks"), ::documentReaderAuthenticityCheckFromJSON)!!
1717
-
1718
- return result
1719
- }
1720
-
1721
- fun generateDocumentReaderAuthenticityResult(temp: DocumentReaderAuthenticityResult?, context: Context?): JSONObject? {
1722
- val result = JSONObject()
1723
- temp ?: return null
1724
- val input: DocumentReaderAuthenticityResult = temp
1725
-
1726
- @Suppress("DEPRECATION")
1727
- result.put("status", input.status)
1728
- result.put("checks", generateList(input.checks, ::generateDocumentReaderAuthenticityCheck, context))
1729
-
1730
- return result
1731
- }
1732
-
1733
- fun documentReaderAuthenticityElementFromJSON(temp: JSONObject?): DocumentReaderAuthenticityElement? {
1734
- temp ?: return null
1735
- val input: JSONObject = temp
1736
- val result = DocumentReaderAuthenticityElement()
1737
-
1738
- result.status = input.optInt("status")
1739
- result.elementType = input.optInt("elementType")
1740
- result.elementDiagnose = input.optInt("elementDiagnose")
1741
-
1742
- return result
1743
- }
1744
-
1745
- fun generateDocumentReaderAuthenticityElement(temp: DocumentReaderAuthenticityElement?, context: Context?): JSONObject? {
1746
- val result = JSONObject()
1747
- temp ?: return null
1748
- val input: DocumentReaderAuthenticityElement = temp
1749
-
1750
- result.put("status", input.status)
1751
- result.put("elementType", input.elementType)
1752
- result.put("elementDiagnose", input.elementDiagnose)
1753
- result.put("elementTypeName", input.getElementTypeName(context))
1754
- result.put("elementDiagnoseName", input.getElementDiagnoseName(context))
1755
-
1756
- return result
1757
- }
1758
-
1759
- fun paResourcesIssuerFromJSON(temp: JSONObject?): PAResourcesIssuer? {
1760
- temp ?: return null
1761
- val input: JSONObject = temp
1762
- val result = PAResourcesIssuer()
1763
-
1764
- result.data = byteArrayFromBase64(input.optString("data"))
1765
- result.friendlyName = input.optString("friendlyName")
1766
- result.attributes = arrayFromJSON(input.optJSONArray("attributes"), ::paAttributeFromJSON, arrayOfNulls(input.optJSONArray("attributes")?.length() ?: 0))
1767
-
1768
- return result
1769
- }
1770
-
1771
- fun generatePAResourcesIssuer(temp: PAResourcesIssuer?): JSONObject? {
1772
- val result = JSONObject()
1773
- temp ?: return null
1774
- val input: PAResourcesIssuer = temp
1775
-
1776
- result.put("data", generateByteArray(input.data))
1777
- result.put("friendlyName", input.friendlyName)
1778
- result.put("attributes", generateArray(input.attributes, ::generatePAAttribute))
1779
-
1780
- return result
1781
- }
1782
-
1783
- fun paAttributeFromJSON(temp: JSONObject?): PAAttribute? {
1784
- temp ?: return null
1785
- val input: JSONObject = temp
1786
- val result = PAAttribute()
1787
-
1788
- result.type = input.optString("type")
1789
- result.value = input.optString("value")
1790
-
1791
- return result
1792
- }
1793
-
1794
- fun generatePAAttribute(temp: PAAttribute?): JSONObject? {
1795
- val result = JSONObject()
1796
- temp ?: return null
1797
- val input: PAAttribute = temp
1798
-
1799
- result.put("type", input.type)
1800
- result.put("value", input.value)
1801
-
1802
- return result
1803
- }
1804
-
1805
- fun taChallengeFromJSON(temp: JSONObject?): TAChallenge? {
1806
- temp ?: return null
1807
- val input: JSONObject = temp
1808
- val result = TAChallenge()
1809
-
1810
- result.data = byteArrayFromBase64(input.optString("data"))
1811
- result.auxPCD = input.optString("auxPCD")
1812
- result.challengePICC = input.optString("challengePICC")
1813
- result.hashPK = input.optString("hashPK")
1814
- result.idPICC = input.optString("idPICC")
1815
-
1816
- return result
1817
- }
1818
-
1819
- fun generateTAChallenge(temp: TAChallenge?): JSONObject? {
1820
- val result = JSONObject()
1821
- temp ?: return null
1822
- val input: TAChallenge = temp
1823
-
1824
- result.put("data", generateByteArray(input.data))
1825
- result.put("auxPCD", input.auxPCD)
1826
- result.put("challengePICC", input.challengePICC)
1827
- result.put("hashPK", input.hashPK)
1828
- result.put("idPICC", input.idPICC)
1829
-
1830
- return result
1831
- }
1832
-
1833
- fun documentReaderResultsStatusFromJSON(temp: JSONObject?): DocumentReaderResultsStatus? {
1834
- temp ?: return null
1835
- val input: JSONObject = temp
1836
-
1837
- input.remove("detailsRFID")
1838
-
1839
- return DocumentReaderResultsStatus.fromJson(input)
1840
- }
1841
-
1842
- fun generateDocumentReaderResultsStatus(temp: DocumentReaderResultsStatus?): JSONObject? {
1843
- val result = JSONObject()
1844
- temp ?: return null
1845
- val input: DocumentReaderResultsStatus = temp
1846
-
1847
- result.put("overallStatus", input.overallStatus)
1848
- result.put("optical", input.optical)
1849
- result.put("detailsOptical", generateDetailsOptical(input.detailsOptical))
1850
- result.put("rfid", input.rfid)
1851
- result.put("detailsRFID", generateDetailsRFID(input.detailsRFID))
1852
- result.put("portrait", input.portrait)
1853
- result.put("stopList", input.stopList)
1854
-
1855
- return result
1856
- }
1857
-
1858
- fun generateDetailsOptical(temp: DetailsOptical?): JSONObject? {
1859
- val result = JSONObject()
1860
- temp ?: return null
1861
- val input: DetailsOptical = temp
1862
-
1863
- result.put("overallStatus", input.overallStatus)
1864
- result.put("mrz", input.mrz)
1865
- result.put("text", input.text)
1866
- result.put("docType", input.docType)
1867
- result.put("security", input.security)
1868
- result.put("imageQA", input.imageQA)
1869
- result.put("expiry", input.expiry)
1870
- result.put("vds", input.vds)
1871
- result.put("pagesCount", input.pagesCount)
1872
-
1873
- return result
1874
- }
1875
-
1876
- fun generateDetailsRFID(temp: DetailsRFID?): JSONObject? {
1877
- val result = JSONObject()
1878
- temp ?: return null
1879
- val input: DetailsRFID = temp
1880
-
1881
- result.put("pa", input.pa)
1882
- result.put("ca", input.ca)
1883
- result.put("aa", input.aa)
1884
- result.put("ta", input.ta)
1885
- result.put("bac", input.bac)
1886
- result.put("pace", input.pace)
1887
- result.put("overallStatus", input.overallStatus)
1888
-
1889
- return result
1890
- }
1891
-
1892
- fun vdsncDataDictionaryFromJSON(input: JSONObject): JSONObject {
1893
- val temp = JSONObject(input.toString())
1894
-
1895
- temp.put("Type", input.optString("type"))
1896
- temp.put("Version", input.optInt("version"))
1897
- temp.put("IssuingCountry", input.optString("issuingCountry"))
1898
- temp.put("Message", input.optJSONObject("message"))
1899
- temp.put("SignatureAlg", input.optString("signatureAlgorithm"))
1900
- temp.put("Signature", bytesDataDictionaryFromJSON(input.optJSONObject("signature")))
1901
- temp.put("Certificate", bytesDataDictionaryFromJSON(input.optJSONObject("certificate")))
1902
- temp.put("CertificateChain", input.optJSONArray("certificateChain"))
1903
- temp.put("Notifications", input.optJSONArray("notifications"))
1904
-
1905
- return temp
1906
- }
1907
-
1908
- fun vdsncDataFromJSON(input: JSONObject) = VDSNCData.fromJson(vdsncDataDictionaryFromJSON(input))
1909
-
1910
- fun generateVDSNCData(temp: VDSNCData?): JSONObject? {
1911
- val result = JSONObject()
1912
- temp ?: return null
1913
- val input: VDSNCData = temp
1914
-
1915
- result.put("type", input.type)
1916
- result.put("version", input.version)
1917
- result.put("issuingCountry", input.issuingCountry)
1918
- result.put("message", input.message)
1919
- result.put("signatureAlgorithm", input.signatureAlg)
1920
- result.put("signature", generateBytesData(input.signature))
1921
- result.put("certificate", generateBytesData(input.certificate))
1922
- result.put("certificateChain", generateList(input.certificateChain, ::generateCertificateChain))
1923
- result.put("notifications", generateLongArray(input.notifications))
1924
-
1925
- return result
1926
- }
1927
-
1928
- fun bytesDataDictionaryFromJSON(input: JSONObject?): JSONObject? {
1929
- input ?: return null
1930
- val temp = JSONObject(input.toString())
1931
-
1932
- temp.put("Data", input.optString("data"))
1933
- temp.put("Length", input.optInt("length"))
1934
- temp.put("Status", input.optLong("status"))
1935
- temp.put("Type", input.optInt("type"))
1936
-
1937
- return temp
1938
- }
1939
-
1940
- fun bytesDataFromJSON(input: JSONObject?) = BytesData.fromJson(bytesDataDictionaryFromJSON(input))
1941
-
1942
- fun generateBytesData(temp: BytesData?): JSONObject? {
1943
- val result = JSONObject()
1944
- temp ?: return null
1945
- val input: BytesData = temp
1946
-
1947
- result.put("data", input.data)
1948
- result.put("length", input.length)
1949
- result.put("status", input.status)
1950
- result.put("type", input.type)
1951
-
1952
- return result
1953
- }
1954
-
1955
- fun generateLicense(temp: License?): JSONObject? {
1956
- val result = JSONObject()
1957
- temp ?: return null
1958
- val input: License = temp
1959
-
1960
- result.put("expiryDate", input.expiryDate?.toString())
1961
- result.put("countryFilter", generateList(input.countryFilter))
1962
- result.put("isRfidAvailable", input.isRfidAvailable)
1963
-
1964
- return result
1965
- }
1966
-
1967
- fun generateDocReaderVersion(temp: DocReaderVersion?): JSONObject? {
1968
- val result = JSONObject()
1969
- temp ?: return null
1970
- val input: DocReaderVersion = temp
1971
-
1972
- result.put("api", input.api)
1973
- result.put("core", input.core)
1974
- result.put("coreMode", input.coreMode)
1975
- result.put("database", generateDocReaderDocumentsDatabase(input.database))
1976
-
1977
- return result
1978
- }
1979
-
1980
- fun docReaderDocumentsDatabaseFromJSON(input: JSONObject?): DocReaderDocumentsDatabase? {
1981
- input ?: return null
1982
- val temp = JSONObject(input.toString())
1983
-
1984
- temp.put("id", input.optString("databaseID"))
1985
- temp.put("export_date", input.optString("date"))
1986
- temp.put("description", input.optString("databaseDescription"))
1987
-
1988
- return DocReaderDocumentsDatabase.fromJson(temp)
1989
- }
1990
-
1991
- fun generateDocReaderDocumentsDatabase(temp: DocReaderDocumentsDatabase?): JSONObject? {
1992
- val result = JSONObject()
1993
- temp ?: return null
1994
- val input: DocReaderDocumentsDatabase = temp
1995
-
1996
- result.put("databaseID", input.databaseID)
1997
- result.put("version", input.version)
1998
- result.put("date", input.date)
1999
- result.put("databaseDescription", input.databaseDescription)
2000
- result.put("countriesNumber", input.countriesNumber)
2001
- result.put("documentsNumber", input.documentsNumber)
2002
- result.put("size", input.size)
2003
-
2004
- return result
2005
- }
2006
-
2007
- fun documentReaderComparisonFromJSON(temp: JSONObject?): DocumentReaderComparison? {
2008
- temp ?: return null
2009
- val input: JSONObject = temp
2010
- val result = DocumentReaderComparison()
2011
-
2012
- result.sourceTypeLeft = input.optInt("sourceTypeLeft")
2013
- result.sourceTypeRight = input.optInt("sourceTypeRight")
2014
- result.status = input.optInt("status")
2015
-
2016
- return result
2017
- }
2018
-
2019
- fun generateDocumentReaderComparison(temp: DocumentReaderComparison?): JSONObject? {
2020
- val result = JSONObject()
2021
- temp ?: return null
2022
- val input: DocumentReaderComparison = temp
2023
-
2024
- result.put("sourceTypeLeft", input.sourceTypeLeft)
2025
- result.put("sourceTypeRight", input.sourceTypeRight)
2026
- result.put("status", input.status)
2027
-
2028
- return result
2029
- }
2030
-
2031
- fun documentReaderRFIDOriginFromJSON(temp: JSONObject?): DocumentReaderRfidOrigin? {
2032
- temp ?: return null
2033
- val input: JSONObject = temp
2034
- val result = DocumentReaderRfidOrigin()
2035
-
2036
- result.dg = input.optInt("dg")
2037
- result.dgTag = input.optInt("dgTag")
2038
- result.entryView = input.optInt("entryView")
2039
- result.tagEntry = input.optInt("tagEntry")
2040
-
2041
- return result
2042
- }
2043
-
2044
- fun generateDocumentReaderRFIDOrigin(temp: DocumentReaderRfidOrigin?): JSONObject? {
2045
- val result = JSONObject()
2046
- temp ?: return null
2047
- val input: DocumentReaderRfidOrigin = temp
2048
-
2049
- result.put("dg", input.dg)
2050
- result.put("dgTag", input.dgTag)
2051
- result.put("entryView", input.entryView)
2052
- result.put("tagEntry", input.tagEntry)
2053
-
2054
- return result
2055
- }
2056
-
2057
- fun documentReaderTextSourceFromJSON(temp: JSONObject?): DocumentReaderTextSource? {
2058
- temp ?: return null
2059
- val input: JSONObject = temp
2060
- val result = DocumentReaderTextSource()
2061
-
2062
- result.sourceType = input.optInt("sourceType")
2063
- result.source = input.optString("source")
2064
- result.validityStatus = input.optInt("validityStatus")
2065
-
2066
- return result
2067
- }
2068
-
2069
- fun generateDocumentReaderTextSource(temp: DocumentReaderTextSource?): JSONObject? {
2070
- val result = JSONObject()
2071
- temp ?: return null
2072
- val input: DocumentReaderTextSource = temp
2073
-
2074
- result.put("sourceType", input.sourceType)
2075
- result.put("source", input.source)
2076
- result.put("validityStatus", input.validityStatus)
2077
-
2078
- return result
2079
- }
2080
-
2081
- fun documentReaderSymbolFromJSON(temp: JSONObject?): DocumentReaderSymbol? {
2082
- temp ?: return null
2083
- val input: JSONObject = temp
2084
- val result = DocumentReaderSymbol()
2085
-
2086
- result.code = input.optInt("code")
2087
- result.probability = input.optInt("probability")
2088
- result.rect = rectFromJSON(input.optJSONObject("rect"))
2089
-
2090
- return result
2091
- }
2092
-
2093
- fun generateDocumentReaderSymbol(temp: DocumentReaderSymbol?): JSONObject? {
2094
- val result = JSONObject()
2095
- temp ?: return null
2096
- val input: DocumentReaderSymbol = temp
2097
-
2098
- result.put("code", input.code)
2099
- result.put("rect", generateRect(input.rect))
2100
- result.put("probability", input.probability)
2101
-
2102
- return result
2103
- }
2104
-
2105
- fun documentReaderValidityFromJSON(temp: JSONObject?): DocumentReaderValidity? {
2106
- temp ?: return null
2107
- val input: JSONObject = temp
2108
- val result = DocumentReaderValidity()
2109
-
2110
- result.sourceType = input.optInt("sourceType")
2111
- result.status = input.optInt("status")
2112
-
2113
- return result
2114
- }
2115
-
2116
- fun generateDocumentReaderValidity(temp: DocumentReaderValidity?): JSONObject? {
2117
- val result = JSONObject()
2118
- temp ?: return null
2119
- val input: DocumentReaderValidity = temp
2120
-
2121
- result.put("sourceType", input.sourceType)
2122
- result.put("status", input.status)
2123
-
2124
- return result
2125
- }
2126
-
2127
- fun barcodeTypeArrayFromJson(temp: JSONArray?): Array<String?>? {
2128
- temp ?: return null
2129
- val input: JSONArray = temp
2130
-
2131
- val result = arrayOfNulls<String>(input.length())
2132
- for (i in 0 until input.length()) result[i] = BarcodeType.valueOf(input.getInt(i))
2133
-
2134
- return result
2135
- }
2136
-
2137
- fun generateBarcodeTypeArray(temp: Array<String?>?): JSONArray? {
2138
- temp ?: return null
2139
- val input: Array<String?> = temp
2140
- val result = JSONArray()
2141
-
2142
- for (s in input) result.put(generateBarcodeType(s))
2143
-
2144
- return result
2145
- }
2146
-
2147
- fun generateBarcodeType(input: String?) = when (input) {
2148
- "bct_Code128" -> 1
2149
- "bct_Code39" -> 2
2150
- "bct_EAN8" -> 3
2151
- "bct_ITF" -> 4
2152
- "bct_PDF417" -> 5
2153
- "bct_STF" -> 6
2154
- "bct_MTF" -> 7
2155
- "bct_IATA" -> 8
2156
- "bct_CODABAR" -> 9
2157
- "bct_UPCA" -> 10
2158
- "bct_CODE93" -> 11
2159
- "bct_UPCE" -> 12
2160
- "bct_EAN13" -> 13
2161
- "bct_QRCODE" -> 14
2162
- "bct_AZTEC" -> 15
2163
- "bct_DATAMATRIX" -> 16
2164
- "bct_ALL_1D" -> 17
2165
- "bct_Code11" -> 18
2166
- "bct_JABCODE" -> 19
2167
- else -> 0
2168
- }
2169
-
2170
- fun documentReaderResultsFromJSON(temp: JSONObject?): DocumentReaderResults? {
2171
- temp ?: return null
2172
- val input: JSONObject = temp
2173
- val result = DocumentReaderResults()
2174
-
2175
- result.chipPage = input.optInt("chipPage")
2176
- result.processingFinishedStatus = input.optInt("processingFinishedStatus")
2177
- result.elapsedTime = input.optInt("elapsedTime")
2178
- result.elapsedTimeRFID = input.optInt("elapsedTimeRFID")
2179
- result.morePagesAvailable = input.optInt("morePagesAvailable")
2180
- result.graphicResult = documentReaderGraphicResultFromJSON(input.optJSONObject("graphicResult"))
2181
- result.textResult = documentReaderTextResultFromJSON(input.optJSONObject("textResult"))
2182
- result.documentPosition = listFromJSON(input.optJSONArray("documentPosition"), ::elementPositionFromJSON)!!
2183
- result.barcodePosition = listFromJSON(input.optJSONArray("barcodePosition"), ::elementPositionFromJSON)!!
2184
- result.mrzPosition = listFromJSON(input.optJSONArray("mrzPosition"), ::elementPositionFromJSON)!!
2185
- result.imageQuality = listFromJSON(input.optJSONArray("imageQuality"), ::imageQualityGroupFromJSON)!!
2186
- result.rawResult = input.optString("rawResult")
2187
- result.rfidSessionData = rfidSessionDataFromJSON(input.optJSONObject("rfidSessionData"))
2188
- result.authenticityResult = documentReaderAuthenticityResultFromJSON(input.optJSONObject("authenticityResult"))
2189
- result.barcodeResult = documentReaderBarcodeResultFromJSON(input.optJSONObject("barcodeResult"))
2190
- result.rfidSessionData = rfidSessionDataFromJSON(input.optJSONObject("rfidSessionData"))
2191
- result.documentType = listFromJSON(input.optJSONArray("documentType"), ::documentReaderDocumentTypeFromJSON)!!
2192
- result.status = documentReaderResultsStatusFromJSON(input.optJSONObject("status"))!!
2193
- result.vdsncData = vdsncDataFromJSON(input.optJSONObject("vdsncData")!!)
2194
- result.dtcData = input.getString("dtcData")
2195
- result.transactionInfo = transactionInfoFromJSON(input.optJSONObject("transactionInfo"))!!
2196
-
2197
- return result
2198
- }
2199
-
2200
- fun generateDocumentReaderResults(temp: DocumentReaderResults?, context: Context?): JSONObject? {
2201
- val result = JSONObject()
2202
- temp ?: return null
2203
- val input: DocumentReaderResults = temp
2204
-
2205
- result.put("chipPage", input.chipPage)
2206
- result.put("processingFinishedStatus", input.processingFinishedStatus)
2207
- result.put("elapsedTime", input.elapsedTime)
2208
- result.put("elapsedTimeRFID", input.elapsedTimeRFID)
2209
- result.put("morePagesAvailable", input.morePagesAvailable)
2210
- result.put("graphicResult", generateDocumentReaderGraphicResult(input.graphicResult, context))
2211
- result.put("textResult", generateDocumentReaderTextResult(input.textResult, context))
2212
- result.put("documentPosition", generateList(input.documentPosition, ::generateElementPosition))
2213
- result.put("barcodePosition", generateList(input.barcodePosition, ::generateElementPosition))
2214
- result.put("mrzPosition", generateList(input.mrzPosition, ::generateElementPosition))
2215
- result.put("imageQuality", generateList(input.imageQuality, ::generateImageQualityGroup))
2216
- result.put("rawResult", input.rawResult)
2217
- result.put("rfidSessionData", generateRFIDSessionData(input.rfidSessionData, context))
2218
- result.put("authenticityResult", generateDocumentReaderAuthenticityResult(input.authenticityResult, context))
2219
- result.put("barcodeResult", generateDocumentReaderBarcodeResult(input.barcodeResult))
2220
- result.put("documentType", generateList(input.documentType, ::generateDocumentReaderDocumentType))
2221
- result.put("status", generateDocumentReaderResultsStatus(input.status))
2222
- result.put("vdsncData", generateVDSNCData(input.vdsncData))
2223
- result.put("dtcData", input.dtcData)
2224
- result.put("transactionInfo", generateTransactionInfo(input.transactionInfo))
2225
-
2226
- return result
2227
- }