Skip to content

Commit 6dd35a3

Browse files
author
Jenkins
committed
8.4.609
1 parent 57b2e3a commit 6dd35a3

31 files changed

+317
-96
lines changed

.dart_tool/package_config.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@
8787
},
8888
{
8989
"name": "meta",
90-
"rootUri": "file:///Users/administratorregula/.pub-cache/hosted/pub.dev/meta-1.16.0",
90+
"rootUri": "file:///Users/administratorregula/.pub-cache/hosted/pub.dev/meta-1.17.0",
9191
"packageUri": "lib/",
92-
"languageVersion": "2.12"
92+
"languageVersion": "3.5"
9393
},
9494
{
9595
"name": "path",
@@ -135,7 +135,7 @@
135135
},
136136
{
137137
"name": "test_api",
138-
"rootUri": "file:///Users/administratorregula/.pub-cache/hosted/pub.dev/test_api-0.7.6",
138+
"rootUri": "file:///Users/administratorregula/.pub-cache/hosted/pub.dev/test_api-0.7.7",
139139
"packageUri": "lib/",
140140
"languageVersion": "3.5"
141141
},
@@ -159,8 +159,8 @@
159159
}
160160
],
161161
"generator": "pub",
162-
"generatorVersion": "3.9.0",
162+
"generatorVersion": "3.10.0-290.4.beta",
163163
"flutterRoot": "file:///Users/administratorregula/development/flutter",
164-
"flutterVersion": "3.35.1",
164+
"flutterVersion": "3.38.0",
165165
"pubCache": "file:///Users/administratorregula/.pub-cache"
166166
}

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ android {
2828
}
2929

3030
dependencies {
31-
implementation('com.regula.documentreader:api:8.3.11882') {
31+
implementation('com.regula.documentreader:api:8.4.12046') {
3232
transitive = true
3333
}
3434

android/src/main/kotlin/com/regula/plugin/documentreader/BluetoothUtil.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import android.annotation.SuppressLint
77
import android.app.Activity
88
import android.bluetooth.BluetoothAdapter
99
import android.content.ComponentName
10+
import android.content.Context.BIND_AUTO_CREATE
1011
import android.content.Intent
1112
import android.content.ServiceConnection
1213
import android.content.pm.PackageManager.PERMISSION_GRANTED
@@ -31,16 +32,18 @@ const val INTENT_REQUEST_ENABLE_BLUETOOTH = 197
3132

3233
@SuppressLint("StaticFieldLeak")
3334
var bluetooth: BLEWrapper? = null
35+
lateinit var savedDeviceNameForPermissionResult: String
3436
lateinit var savedCallbackForPermissionResult: Callback
3537

36-
fun connectBluetoothDevice(callback: Callback) {
38+
fun connectBluetoothDevice(deviceName: String, callback: Callback) {
3739
if (bluetooth?.isConnected == true) {
3840
Log.e("REGULA", "Bluetooth device already connected, returning false")
3941
callback(false)
4042
return
4143
}
4244

4345
if (!isBluetoothSettingsReady(activity)) {
46+
savedDeviceNameForPermissionResult = deviceName
4447
savedCallbackForPermissionResult = callback
4548
return
4649
}
@@ -55,6 +58,7 @@ fun connectBluetoothDevice(callback: Callback) {
5558
Timer().schedule(timeout, SEARCHING_TIMEOUT)
5659

5760
val bleIntent = Intent(context, RegulaBleService::class.java)
61+
bleIntent.putExtra(RegulaBleService.DEVICE_NAME, deviceName)
5862
context.startService(bleIntent)
5963
context.bindService(bleIntent, object : ServiceConnection {
6064
override fun onServiceConnected(name: ComponentName, service: IBinder) {
@@ -70,7 +74,7 @@ fun connectBluetoothDevice(callback: Callback) {
7074
}
7175

7276
override fun onServiceDisconnected(name: ComponentName) {}
73-
}, 0)
77+
}, BIND_AUTO_CREATE)
7478
}
7579

7680
fun onRequestPermissionsResult(
@@ -83,7 +87,7 @@ fun onRequestPermissionsResult(
8387
savedCallbackForPermissionResult(false)
8488
return true
8589
}
86-
connectBluetoothDevice(savedCallbackForPermissionResult)
90+
connectBluetoothDevice(savedDeviceNameForPermissionResult, savedCallbackForPermissionResult)
8791
return true
8892
}
8993

@@ -95,7 +99,7 @@ fun onActivityResult(requestCode: Int, rc: Int, @Suppress("UNUSED_PARAMETER") da
9599

96100
if (requestCode == INTENT_REQUEST_ENABLE_BLUETOOTH || requestCode == INTENT_REQUEST_ENABLE_LOCATION) {
97101
if (resultCode == Activity.RESULT_OK)
98-
connectBluetoothDevice(savedCallbackForPermissionResult)
102+
connectBluetoothDevice(savedDeviceNameForPermissionResult, savedCallbackForPermissionResult)
99103
else
100104
savedCallbackForPermissionResult(false)
101105
return true
@@ -126,7 +130,7 @@ fun deniedBluetoothPermissions(): Array<String>? {
126130
result.addAll(deniedBluetoothPermission(BLUETOOTH_CONNECT))
127131
} else
128132
result.addAll(deniedBluetoothPermission(ACCESS_FINE_LOCATION))
129-
return result.let { if (it.size > 0) it.toTypedArray() else null }
133+
return result.let { if (it.isNotEmpty()) it.toTypedArray() else null }
130134
}
131135

132136
fun deniedBluetoothPermission(permission: String): Array<String> {

android/src/main/kotlin/com/regula/plugin/documentreader/Config.kt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ fun setFunctionality(config: Functionality, input: JSONObject) = input.forEach {
4747
"recordScanningProcess" -> editor.setDoRecordProcessingVideo(v as Boolean)
4848
"manualMultipageMode" -> editor.setManualMultipageMode(v as Boolean)
4949
"torchTurnedOn" -> editor.setTorchTurnedOn(v as Boolean)
50+
"preventScreenRecording" -> editor.setPreventScreenRecording(v as Boolean)
5051
"showCaptureButtonDelayFromDetect" -> editor.setShowCaptureButtonDelayFromDetect(v.toLong())
5152
"showCaptureButtonDelayFromStart" -> editor.setShowCaptureButtonDelayFromStart(v.toLong())
5253
"orientation" -> editor.setOrientation(v.toInt())
@@ -82,6 +83,7 @@ fun getFunctionality(input: Functionality) = mapOf(
8283
"recordScanningProcess" to input.doRecordProcessingVideo(),
8384
"manualMultipageMode" to input.isManualMultipageMode,
8485
"torchTurnedOn" to input.isTorchTurnedOn,
86+
"preventScreenRecording" to input.doPreventScreenRecording(),
8587
"showCaptureButtonDelayFromDetect" to input.showCaptureButtonDelayFromDetect,
8688
"showCaptureButtonDelayFromStart" to input.showCaptureButtonDelayFromStart,
8789
"orientation" to input.orientation,
@@ -141,6 +143,7 @@ fun setProcessParams(processParams: ProcessParam, opts: JSONObject) = opts.forEa
141143
"generateAlpha2Codes" -> processParams.generateAlpha2Codes = v as Boolean
142144
"disableAuthResolutionFilter" -> processParams.disableAuthResolutionFilter = v as Boolean
143145
"strictSecurityChecks" -> processParams.strictSecurityChecks = v as Boolean
146+
"returnTransliteratedFields" -> processParams.returnTransliteratedFields = v as Boolean
144147
"measureSystem" -> processParams.measureSystem = v.toInt()
145148
"barcodeParserType" -> processParams.barcodeParserType = v.toInt()
146149
"perspectiveAngle" -> processParams.perspectiveAngle = v.toInt()
@@ -227,6 +230,7 @@ fun getProcessParams(processParams: ProcessParam) = mapOf(
227230
"generateAlpha2Codes" to processParams.generateAlpha2Codes,
228231
"disableAuthResolutionFilter" to processParams.disableAuthResolutionFilter,
229232
"strictSecurityChecks" to processParams.strictSecurityChecks,
233+
"returnTransliteratedFields" to processParams.returnTransliteratedFields,
230234
"measureSystem" to processParams.measureSystem,
231235
"barcodeParserType" to processParams.barcodeParserType,
232236
"perspectiveAngle" to processParams.perspectiveAngle,
@@ -752,6 +756,10 @@ fun setColors(input: ParamsCustomization.CustomizationEditor, opts: JSONObject)
752756
"rfidProcessingScreenProgressBarBackground" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_BAR_BACKGROUND, value)
753757
"rfidProcessingScreenResultLabelText" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_RESULT_LABEL_TEXT, value)
754758
"rfidProcessingScreenLoadingBar" -> input.setColor(CustomizationColor.RFID_PROCESSING_SCREEN_LOADING_BAR, value)
759+
"rfidEnableNfcTitleText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_TITLE_TEXT, value)
760+
"rfidEnableNfcDescriptionText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_DESCRIPTION_TEXT, value)
761+
"rfidEnableNfcButtonText" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_BUTTON_TEXT, value)
762+
"rfidEnableNfcButtonBackground" -> input.setColor(CustomizationColor.RFID_ENABLE_NFC_BUTTON_BACKGROUND, value)
755763
}
756764
}
757765

@@ -764,30 +772,42 @@ fun getColors(input: Map<CustomizationColor, Long>) = mapOf(
764772
"rfidProcessingScreenProgressBarBackground" to input[CustomizationColor.RFID_PROCESSING_SCREEN_PROGRESS_BAR_BACKGROUND],
765773
"rfidProcessingScreenResultLabelText" to input[CustomizationColor.RFID_PROCESSING_SCREEN_RESULT_LABEL_TEXT],
766774
"rfidProcessingScreenLoadingBar" to input[CustomizationColor.RFID_PROCESSING_SCREEN_LOADING_BAR],
775+
"rfidEnableNfcTitleText" to input[CustomizationColor.RFID_ENABLE_NFC_TITLE_TEXT],
776+
"rfidEnableNfcDescriptionText" to input[CustomizationColor.RFID_ENABLE_NFC_DESCRIPTION_TEXT],
777+
"rfidEnableNfcButtonText" to input[CustomizationColor.RFID_ENABLE_NFC_BUTTON_TEXT],
778+
"rfidEnableNfcButtonBackground" to input[CustomizationColor.RFID_ENABLE_NFC_BUTTON_BACKGROUND],
767779
).toJson()
768780

769781
fun setFonts(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { key, value ->
770782
when (key) {
771783
"rfidProcessingScreenHintLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_HINT_LABEL.setFont(input, value)
772784
"rfidProcessingScreenProgressLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_PROGRESS_LABEL.setFont(input, value)
773785
"rfidProcessingScreenResultLabel" -> CustomizationFont.RFID_PROCESSING_SCREEN_RESULT_LABEL.setFont(input, value)
786+
"rfidEnableNfcTitleText" -> CustomizationFont.RFID_ENABLE_NFC_TITLE_TEXT.setFont(input, value)
787+
"rfidEnableNfcDescriptionText" -> CustomizationFont.RFID_ENABLE_NFC_DESCRIPTION_TEXT.setFont(input, value)
788+
"rfidEnableNfcButtonText" -> CustomizationFont.RFID_ENABLE_NFC_BUTTON_TEXT.setFont(input, value)
774789
}
775790
}
776791

777792
fun getFonts(fonts: Map<CustomizationFont, Typeface>, sizes: Map<CustomizationFont, Int>) = mapOf(
778793
"rfidProcessingScreenHintLabel" to CustomizationFont.RFID_PROCESSING_SCREEN_HINT_LABEL.getFont(fonts, sizes),
779794
"rfidProcessingScreenProgressLabel" to CustomizationFont.RFID_PROCESSING_SCREEN_PROGRESS_LABEL.getFont(fonts, sizes),
780795
"rfidProcessingScreenResultLabel" to CustomizationFont.RFID_PROCESSING_SCREEN_RESULT_LABEL.getFont(fonts, sizes),
796+
"rfidEnableNfcTitleText" to CustomizationFont.RFID_ENABLE_NFC_TITLE_TEXT.getFont(fonts, sizes),
797+
"rfidEnableNfcDescriptionText" to CustomizationFont.RFID_ENABLE_NFC_DESCRIPTION_TEXT.getFont(fonts, sizes),
798+
"rfidEnableNfcButtonText" to CustomizationFont.RFID_ENABLE_NFC_BUTTON_TEXT.getFont(fonts, sizes),
781799
).toJson()
782800

783801
fun setImages(input: ParamsCustomization.CustomizationEditor, opts: JSONObject) = opts.forEach { key, v ->
784802
when (key) {
785803
"rfidProcessingScreenFailureImage" -> input.setImage(CustomizationImage.RFID_PROCESSING_SCREEN_FAILURE_IMAGE, v.toDrawable())
804+
"rfidEnableNfcImage" -> input.setImage(CustomizationImage.RFID_ENABLE_NFC_IMAGE, v.toDrawable())
786805
}
787806
}
788807

789808
fun getImages(input: Map<CustomizationImage, Drawable>) = mapOf(
790809
"rfidProcessingScreenFailureImage" to (input[CustomizationImage.RFID_PROCESSING_SCREEN_FAILURE_IMAGE] ?: ContextCompat.getDrawable(context, com.regula.documentreader.api.R.drawable.reg_ic_error)).toBase64(),
810+
"rfidEnableNfcImage" to (input[CustomizationImage.RFID_ENABLE_NFC_IMAGE] ?: ContextCompat.getDrawable(context, com.regula.documentreader.api.R.drawable.reg_enable_nfc)).toBase64(),
791811
).toJson()
792812

793813
fun CustomizationFont.getFont(fonts: Map<CustomizationFont, Typeface>, sizes: Map<CustomizationFont, Int>) =

android/src/main/kotlin/com/regula/plugin/documentreader/JSONConstructor.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ fun initConfigFromJSON(input: JSONObject) = input.let {
192192

193193
if (it.has("licenseUpdate")) result.setLicenseUpdate(it.getBoolean("licenseUpdate"))
194194
if (it.has("delayedNNLoad")) result.isDelayedNNLoad = it.getBoolean("delayedNNLoad")
195+
result.licenseUpdateTimeout = it.getDoubleOrNull("licenseUpdateTimeout")
195196
result.blackList = it.getJSONObjectOrNull("blackList")
196197
result
197198
}
@@ -203,6 +204,7 @@ fun generateInitConfig(input: DocReaderConfig?) = input?.let {
203204
"databasePath" to it.customDbPath,
204205
"licenseUpdate" to it.isLicenseUpdate,
205206
"delayedNNLoad" to it.isDelayedNNLoad,
207+
"licenseUpdateTimeout" to it.licenseUpdateTimeout,
206208
"blackList" to it.blackList
207209
).toJson()
208210
}
@@ -213,6 +215,7 @@ fun initBleDeviceConfigFromJSON(input: JSONObject) = input.let {
213215

214216
if (it.has("licenseUpdate")) result.setLicenseUpdate(it.getBoolean("licenseUpdate"))
215217
if (it.has("delayedNNLoad")) result.isDelayedNNLoad = it.getBoolean("delayedNNLoad")
218+
result.licenseUpdateTimeout = it.getDoubleOrNull("licenseUpdateTimeout")
216219
result.blackList = it.getJSONObjectOrNull("blackList")
217220
result
218221
}

android/src/main/kotlin/com/regula/plugin/documentreader/Main.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ import org.json.JSONObject
4444
import com.regula.plugin.documentreader.Convert.toBase64
4545
import com.regula.plugin.documentreader.Convert.toByteArray
4646

47-
fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
47+
fun methodCall(method: String, callback: (Any?) -> Unit): Any? = when (method) {
4848
"getDocumentReaderIsReady" -> getDocumentReaderIsReady(callback)
4949
"getDocumentReaderStatus" -> getDocumentReaderStatus(callback)
5050
"getRfidSessionStatus" -> getRfidSessionStatus(callback)
51-
"setRfidSessionStatus" -> setRfidSessionStatus(argsNullable(0))
51+
"setRfidSessionStatus" -> setRfidSessionStatus()
5252
"getTag" -> getTag(callback)
5353
"setTag" -> setTag(argsNullable(0))
5454
"getTenant" -> getTenant(callback)
@@ -90,7 +90,7 @@ fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
9090
"addPKDCertificates" -> addPKDCertificates(args(0))
9191
"clearPKDCertificates" -> clearPKDCertificates()
9292
"startNewSession" -> startNewSession()
93-
"connectBluetoothDevice" -> connectBluetoothDevice(callback)
93+
"connectBluetoothDevice" -> connectBluetoothDevice(args(0), callback)
9494
"btDeviceRequestFlashing" -> btDeviceRequestFlashing()
9595
"btDeviceRequestFlashingFullIR" -> btDeviceRequestFlashingFullIR()
9696
"btDeviceRequestTurnOffAll" -> btDeviceRequestTurnOffAll()
@@ -148,7 +148,7 @@ fun getDocumentReaderStatus(callback: Callback) = callback(Instance().status)
148148

149149
fun getRfidSessionStatus(iosOnly: Callback) = iosOnly(null)
150150

151-
fun setRfidSessionStatus(iosOnly: String?) = Unit
151+
fun setRfidSessionStatus() = Unit
152152

153153
fun getTag(callback: Callback) = callback(Instance().tag)
154154

android/src/test/kotlin/com/regula/plugin/documentreader/FlutterDocumentReaderApiPlugin.kt

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import org.junit.runner.RunWith
77
import org.robolectric.RobolectricTestRunner
88
import org.robolectric.annotation.Config
99

10+
@Suppress("unused")
1011
val context: Context
1112
get() = ApplicationProvider.getApplicationContext()
1213

@@ -16,10 +17,17 @@ class FlutterDocumentReaderApiPluginTest {
1617
// config
1718

1819
@Test
19-
fun initConfig() = compare("initConfig", ::initConfigFromJSON, ::generateInitConfig, "databasePath", "useBleDevice")
20+
fun initConfig() = compare(
21+
"initConfig", ::initConfigFromJSON, ::generateInitConfig,
22+
"databasePath",
23+
"useBleDevice"
24+
)
2025

2126
@Test
22-
fun onlineProcessingConfig() = compare("onlineProcessingConfig", ::onlineProcessingConfigFromJSON, ::generateOnlineProcessingConfig, "requestHeaders")
27+
fun onlineProcessingConfig() = compare(
28+
"onlineProcessingConfig", ::onlineProcessingConfigFromJSON, ::generateOnlineProcessingConfig,
29+
"requestHeaders"
30+
)
2331

2432
@Test
2533
fun imageInputData() = compare("imageInputData", ::imageInputDataFromJSON, ::generateImageInputData)
@@ -28,10 +36,16 @@ class FlutterDocumentReaderApiPluginTest {
2836
fun recognizeConfig() = compare("recognizeConfig", ::recognizeConfigFromJSON, ::generateRecognizeConfig)
2937

3038
@Test
31-
fun recognizeConfig2() = compare("recognizeConfig2", ::recognizeConfigFromJSON, ::generateRecognizeConfig, "onlineProcessingConfig.requestHeaders")
39+
fun recognizeConfig2() = compare(
40+
"recognizeConfig2", ::recognizeConfigFromJSON, ::generateRecognizeConfig,
41+
"onlineProcessingConfig.requestHeaders"
42+
)
3243

3344
@Test
34-
fun scannerConfig() = compare("scannerConfig", ::scannerConfigFromJSON, ::generateScannerConfig, "onlineProcessingConfig.requestHeaders")
45+
fun scannerConfig() = compare(
46+
"scannerConfig", ::scannerConfigFromJSON, ::generateScannerConfig,
47+
"onlineProcessingConfig.requestHeaders"
48+
)
3549

3650
// params.process_params
3751

@@ -103,7 +117,10 @@ class FlutterDocumentReaderApiPluginTest {
103117
@Test
104118
fun functionality() = compare(
105119
"functionality", ::functionalityFromJSON, ::generateFunctionality,
106-
"useAuthenticator", "singleResult", "videoSessionPreset", "cameraPositionIOS"
120+
"useAuthenticator",
121+
"singleResult",
122+
"videoSessionPreset",
123+
"cameraPositionIOS"
107124
)
108125

109126
// info
@@ -117,7 +134,8 @@ class FlutterDocumentReaderApiPluginTest {
117134
@Test
118135
fun docReaderScenario() = compare(
119136
"docReaderScenario", ::documentReaderScenarioFromJSON, ::generateDocumentReaderScenario,
120-
"barcodeExt", "frame"
137+
"barcodeExt",
138+
"frame"
121139
)
122140

123141
@Test
@@ -268,7 +286,10 @@ class FlutterDocumentReaderApiPluginTest {
268286
fun transactionInfo() = compare("transactionInfo", ::transactionInfoFromJSON, ::generateTransactionInfo)
269287

270288
@Test
271-
fun results() = compare("results", ::documentReaderResultsFromJSON, ::generateDocumentReaderResults, "vdsncData.certificateChain")
289+
fun results() = compare(
290+
"results", ::documentReaderResultsFromJSON, ::generateDocumentReaderResults,
291+
"vdsncData.certificateChain"
292+
)
272293

273294
// rfid
274295

example/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
1. Download or the clone current repository using the command `git clone https://github.com/regulaforensics/DocumentReader-Flutter.git`.
66
2. Put `regula.license` file at `assets/` (you can get a trial license [here](https://client.regulaforensics.com)).
77
3. Put `db.dat` file at `ios/Runner/` and `android/app/src/main/assets/Regula/` (you can get a trial database [here](https://client.regulaforensics.com/customer/databases))
8-
4. Execute `flutter pub get` within this directory.
8+
4. Execute `flutter pub get && (cd ios && pod install || pod update)` within this directory.
99
5. Run the app: `flutter run`.
1010

1111
## Additional examples

example/ios/Tests/Tests.swift

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,17 @@ class Tests: XCTestCase {
119119
"statusTextFont.style",
120120
"resultStatusTextFont.style",
121121
"multipageButtonTextFont.style",
122-
"fonts",])
122+
"colors.rfidEnableNfcButtonBackground",
123+
"colors.rfidEnableNfcButtonText",
124+
"colors.rfidEnableNfcDescriptionText",
125+
"colors.rfidEnableNfcTitleText",
126+
"fonts.rfidProcessingScreenHintLabel.style",
127+
"fonts.rfidProcessingScreenProgressLabel.style",
128+
"fonts.rfidProcessingScreenResultLabel.style",
129+
"fonts.rfidEnableNfcTitleText",
130+
"fonts.rfidEnableNfcDescriptionText",
131+
"fonts.rfidEnableNfcButtonText",
132+
"images.rfidEnableNfcImage",])
123133
}
124134

125135
func test_functionality() {

example/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ dependencies:
1414
sdk: flutter
1515
flutter_document_reader_api:
1616
path: ../
17-
flutter_document_reader_core_fullauthrfid: 8.3.772
18-
flutter_document_reader_btdevice: 7.6.17
17+
flutter_document_reader_core_fullauthrfid: 8.4.1159
18+
flutter_document_reader_btdevice: 7.6.17
1919
cupertino_icons: ^1.0.8
2020

2121
dev_dependencies:

0 commit comments

Comments
 (0)