@@ -27,7 +27,8 @@ import com.regula.documentreader.Convert.byteArrayFromBase64
2727import com.regula.documentreader.api.DocumentReader.Instance
2828import com.regula.documentreader.api.completions.IDocumentReaderCompletion
2929import com.regula.documentreader.api.completions.IDocumentReaderInitCompletion
30- import com.regula.documentreader.api.completions.IDocumentReaderPrepareCompletion
30+ import com.regula.documentreader.api.completions.IDocumentReaderPrepareDbCompletion
31+ import com.regula.documentreader.api.completions.model.PrepareProgress
3132import com.regula.documentreader.api.completions.rfid.IRfidPKDCertificateCompletion
3233import com.regula.documentreader.api.completions.rfid.IRfidReaderCompletion
3334import com.regula.documentreader.api.completions.rfid.IRfidReaderRequest
@@ -89,6 +90,7 @@ fun <T> argsNullable(index: Int): T? {
8990 val intValue = value.toInt()
9091 return intValue as T
9192 }
93+ if (args[index].toString() == " null" ) return null
9294 return args[index] as T
9395}
9496
@@ -121,6 +123,7 @@ fun exec(action: String?, arguments: ReadableArray, successCallback: com.faceboo
121123 " setCustomization" -> setCustomization(args(0 ))
122124 " getRfidScenario" -> getRfidScenario(callback)
123125 " setRfidScenario" -> setRfidScenario(args(0 ))
126+ " resetConfiguration" -> resetConfiguration()
124127 " initializeReader" -> initializeReader(callback, args(0 ))
125128 " initializeReaderWithBleDeviceConfig" -> initializeReaderWithBleDeviceConfig(callback, args(0 ))
126129 " deinitializeReader" -> deinitializeReader(callback)
@@ -134,8 +137,8 @@ fun exec(action: String?, arguments: ReadableArray, successCallback: com.faceboo
134137 " startNewPage" -> startNewPage(callback)
135138 " stopScanner" -> stopScanner(callback)
136139 " startRFIDReader" -> startRFIDReader(args(0 ), args(1 ), args(2 ))
137- " stopRFIDReader" -> stopRFIDReader(callback)
138140 " readRFID" -> readRFID(args(0 ), args(1 ), args(2 ))
141+ " stopRFIDReader" -> stopRFIDReader(callback)
139142 " providePACertificates" -> providePACertificates(callback, argsNullable(0 ))
140143 " provideTACertificates" -> provideTACertificates(callback, argsNullable(0 ))
141144 " provideTASignature" -> provideTASignature(callback, args(0 ))
@@ -167,12 +170,12 @@ fun exec(action: String?, arguments: ReadableArray, successCallback: com.faceboo
167170 " graphicFieldImageByTypeSourcePageIndexLight" -> graphicFieldImageByTypeSourcePageIndexLight(callback, args(0 ), args(1 ), args(2 ), args(3 ), args(4 ))
168171 " containers" -> containers(callback, args(0 ), args(1 ))
169172 " encryptedContainers" -> encryptedContainers(callback, args(0 ))
170- " getTranslation" -> getTranslation(callback, args(0 ), args(1 ))
171173 " finalizePackage" -> finalizePackage(callback)
174+ " getTranslation" -> getTranslation(callback, args(0 ), args(1 ))
172175 }
173176}
174177
175- fun <T > args (index : Int ): T = argsNullable(index)!!
178+ inline fun <reified T > args (index : Int ) = argsNullable< T > (index)!!
176179interface Callback {
177180 fun success (data : Any? = "")
178181 fun error (message : String )
@@ -237,6 +240,8 @@ fun getRfidScenario(callback: Callback) = callback.success(getRfidScenario(Insta
237240
238241fun setRfidScenario (rfidScenario : JSONObject ) = setRfidScenario(Instance ().rfidScenario(), rfidScenario)
239242
243+ fun resetConfiguration () = Instance ().resetConfiguration()
244+
240245fun initializeReader (callback : Callback , config : JSONObject ) = Instance ().initializeReader(context, docReaderConfigFromJSON(config), getInitCompletion(callback))
241246
242247fun initializeReaderWithBleDeviceConfig (callback : Callback , config : JSONObject ) = Instance ().initializeReader(context, bleDeviceConfigFromJSON(config), getInitCompletion(callback))
@@ -344,9 +349,8 @@ fun startBluetoothService() = startBluetoothService(
344349 { sendEvent(bleOnDeviceReadyEvent) }
345350)
346351
347- @Suppress(" NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS" )
348352fun setLocalizationDictionary (dictionary : JSONObject ) {
349- localizationCallbacks = LocalizationCallbacks { dictionary.optString (it, null ) }
353+ localizationCallbacks = LocalizationCallbacks { if ( dictionary.has (it)) dictionary.getString(it) else null }
350354 Instance ().setLocalizationCallback(localizationCallbacks!! )
351355}
352356
@@ -427,15 +431,9 @@ val rfidReaderCompletion = object : IRfidReaderCompletion() {
427431 override fun onProgress (notification : DocumentReaderNotification ) = sendEvent(rfidOnProgressEvent, generateDocumentReaderNotification(notification))
428432}
429433
430- fun getPrepareCompletion (callback : Callback ) = object : IDocumentReaderPrepareCompletion {
431- override fun onPrepareProgressChanged (progress : Int ) {
432- if (progress != databaseDownloadProgress) {
433- sendEvent(eventDatabaseProgress, progress)
434- databaseDownloadProgress = progress
435- }
436- }
437-
438- override fun onPrepareCompleted (s : Boolean , e : DocumentReaderException ? ) = callback.success(generateSuccessCompletion(s, e))
434+ fun getPrepareCompletion (callback : Callback ) = object : IDocumentReaderPrepareDbCompletion () {
435+ override fun onPrepareProgressChanged (progress : PrepareProgress ) = sendEvent(eventDatabaseProgress, generatePrepareProgress(progress))
436+ override fun onPrepareCompleted (success : Boolean , error : DocumentReaderException ? ) = callback.success(generateSuccessCompletion(success, error))
439437}
440438
441439fun getInitCompletion (callback : Callback ) = IDocumentReaderInitCompletion { success, error ->
0 commit comments