@onekeyfe/react-native-lite-card 1.0.7 → 1.0.8

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.
@@ -212,18 +212,24 @@ class OKLiteManager(private val context: ReactApplicationContext) :
212
212
  it.putString("message", "show_connect_ui")
213
213
  })
214
214
  mShowDialogNumber.incrementAndGet()
215
- var receiveIsoDep = lastIsoDep
216
215
  val tryReceiveResult = mNFCConnectedChannel.tryReceive()
217
- val lastIsoDepIsConnected: Boolean = try {
218
- lastIsoDep?.isConnected ?: false
219
- } catch (e: Exception) {
220
- false
216
+
217
+ fun IsoDep?.isSafeConnected(): Boolean {
218
+ return runCatching { this?.isConnected ?: false }.getOrDefault(false)
221
219
  }
220
+ var receiveIsoDep: IsoDep? = null
221
+
222
222
  if (tryReceiveResult.isSuccess) {
223
- receiveIsoDep = tryReceiveResult.getOrNull();
224
- } else if (lastIsoDepIsConnected == false) {
225
- receiveIsoDep = mNFCConnectedChannel.receive()
223
+ receiveIsoDep = tryReceiveResult.getOrNull()
224
+ if (!receiveIsoDep.isSafeConnected()) {
225
+ receiveIsoDep = null
226
+ }
226
227
  }
228
+ receiveIsoDep = when {
229
+ receiveIsoDep == null && lastIsoDep.isSafeConnected() -> lastIsoDep
230
+ else -> mNFCConnectedChannel.receive()
231
+ }
232
+
227
233
  lastIsoDep = receiveIsoDep
228
234
  if (receiveIsoDep == null) {
229
235
  // 取消连接
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-lite-card",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "lite card",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",