@onekeyfe/hd-transport-react-native 0.1.33 → 0.1.36
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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -2
- package/package.json +4 -4
- package/src/index.ts +18 -4
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,UAAU,IAAI,aAAa,EAC3B,MAAM,EAEN,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,SAAiC,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAkB,QAAQ,EAA6B,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAavC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAmBjE,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAC1C,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAEzC,SAAS,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAEnE,UAAU,UAAS;IAEnB,OAAO,UAAS;IAEhB,WAAW,SAAQ;IAEnB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAExC,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,OAAO,CAAC,EAAE,YAAY,CAAC;gBAEX,OAAO,EAAE,gBAAgB;IAIrC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY;IAKvC,SAAS,CAAC,UAAU,EAAE,GAAG;IAMzB,MAAM;IAIN,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAYjC,SAAS;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,UAAU,IAAI,aAAa,EAC3B,MAAM,EAEN,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,SAAiC,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAkB,QAAQ,EAA6B,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AAavC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAmBjE,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAC1C,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAEzC,SAAS,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAEnE,UAAU,UAAS;IAEnB,OAAO,UAAS;IAEhB,WAAW,SAAQ;IAEnB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAExC,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,OAAO,CAAC,EAAE,YAAY,CAAC;gBAEX,OAAO,EAAE,gBAAgB;IAIrC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY;IAKvC,SAAS,CAAC,UAAU,EAAE,GAAG;IAMzB,MAAM;IAIN,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAYjC,SAAS;IAyET,OAAO,CAAC,KAAK,EAAE,eAAe;;;IAuLpC,sBAAsB,CAAC,cAAc,EAAE,cAAc;IA4D/C,OAAO,CAAC,IAAI,EAAE,MAAM;IAcpB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAmFpE,IAAI;IAIJ,MAAM;CAOP"}
|
package/dist/index.js
CHANGED
|
@@ -232,6 +232,9 @@ class ReactNativeBleTransport {
|
|
|
232
232
|
else if (error.errorCode === reactNativeBlePlx.BleErrorCode.BluetoothUnauthorized) {
|
|
233
233
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleLocationError));
|
|
234
234
|
}
|
|
235
|
+
else if (error.errorCode === reactNativeBlePlx.BleErrorCode.ScanStartFailed) {
|
|
236
|
+
timer.timeout(() => { }, this.scanTimeout);
|
|
237
|
+
}
|
|
235
238
|
else {
|
|
236
239
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleScanError, (_a = error.reason) !== null && _a !== void 0 ? _a : ''));
|
|
237
240
|
}
|
|
@@ -303,8 +306,8 @@ class ReactNativeBleTransport {
|
|
|
303
306
|
if (e.errorCode === reactNativeBlePlx.BleErrorCode.DeviceMTUChangeFailed ||
|
|
304
307
|
e.errorCode === reactNativeBlePlx.BleErrorCode.OperationCancelled) {
|
|
305
308
|
connectOptions = {};
|
|
306
|
-
device = yield blePlxManager.connectToDevice(uuid);
|
|
307
309
|
this.Log.debug('first try to reconnect without params');
|
|
310
|
+
device = yield blePlxManager.connectToDevice(uuid);
|
|
308
311
|
}
|
|
309
312
|
else {
|
|
310
313
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleConnectedError, (_a = e.reason) !== null && _a !== void 0 ? _a : e);
|
|
@@ -324,8 +327,18 @@ class ReactNativeBleTransport {
|
|
|
324
327
|
if (e.errorCode === reactNativeBlePlx.BleErrorCode.DeviceMTUChangeFailed ||
|
|
325
328
|
e.errorCode === reactNativeBlePlx.BleErrorCode.OperationCancelled) {
|
|
326
329
|
connectOptions = {};
|
|
327
|
-
yield device.connect();
|
|
328
330
|
this.Log.debug('second try to reconnect without params');
|
|
331
|
+
try {
|
|
332
|
+
yield device.connect();
|
|
333
|
+
}
|
|
334
|
+
catch (e) {
|
|
335
|
+
this.Log.debug('last try to reconnect error: ', e);
|
|
336
|
+
if (e.errorCode === reactNativeBlePlx.BleErrorCode.OperationCancelled) {
|
|
337
|
+
this.Log.debug('last try to reconnect');
|
|
338
|
+
yield device.cancelConnection();
|
|
339
|
+
yield device.connect();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
329
342
|
}
|
|
330
343
|
else {
|
|
331
344
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleConnectedError, (_b = e.reason) !== null && _b !== void 0 ? _b : e);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-transport-react-native",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.36",
|
|
4
4
|
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"lint:fix": "eslint . --fix"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@onekeyfe/hd-shared": "^0.1.
|
|
24
|
-
"@onekeyfe/hd-transport": "^0.1.
|
|
23
|
+
"@onekeyfe/hd-shared": "^0.1.36",
|
|
24
|
+
"@onekeyfe/hd-transport": "^0.1.36",
|
|
25
25
|
"react-native-ble-manager": "^8.1.0",
|
|
26
26
|
"react-native-ble-plx": "^2.0.3"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "46ed925a322c0717c74c6bb2e0bb5e7f5df21fcf"
|
|
29
29
|
}
|
package/src/index.ts
CHANGED
|
@@ -120,6 +120,11 @@ export default class ReactNativeBleTransport {
|
|
|
120
120
|
reject(ERRORS.TypedError(HardwareErrorCode.BlePermissionError));
|
|
121
121
|
} else if (error.errorCode === BleErrorCode.BluetoothUnauthorized) {
|
|
122
122
|
reject(ERRORS.TypedError(HardwareErrorCode.BleLocationError));
|
|
123
|
+
} else if (error.errorCode === BleErrorCode.ScanStartFailed) {
|
|
124
|
+
// Android Bluetooth will report an error when the search frequency is too fast,
|
|
125
|
+
// then nothing is processed and an empty array of devices is returned.
|
|
126
|
+
// Then the next search will be back to normal
|
|
127
|
+
timer.timeout(() => {}, this.scanTimeout);
|
|
123
128
|
} else {
|
|
124
129
|
reject(ERRORS.TypedError(HardwareErrorCode.BleScanError, error.reason ?? ''));
|
|
125
130
|
}
|
|
@@ -128,13 +133,11 @@ export default class ReactNativeBleTransport {
|
|
|
128
133
|
|
|
129
134
|
if (isOnekeyDevice(device?.name ?? null, device?.id)) {
|
|
130
135
|
this.Log.debug('search device start ======================');
|
|
131
|
-
|
|
132
136
|
const { name, localName, id } = device ?? {};
|
|
133
137
|
this.Log.debug(
|
|
134
138
|
`device name: ${name ?? ''}\nlocalName: ${localName ?? ''}\nid: ${id ?? ''}`
|
|
135
139
|
);
|
|
136
140
|
addDevice(device as unknown as Device);
|
|
137
|
-
|
|
138
141
|
this.Log.debug('search device end ======================\n');
|
|
139
142
|
}
|
|
140
143
|
}
|
|
@@ -209,8 +212,8 @@ export default class ReactNativeBleTransport {
|
|
|
209
212
|
e.errorCode === BleErrorCode.OperationCancelled
|
|
210
213
|
) {
|
|
211
214
|
connectOptions = {};
|
|
212
|
-
device = await blePlxManager.connectToDevice(uuid);
|
|
213
215
|
this.Log.debug('first try to reconnect without params');
|
|
216
|
+
device = await blePlxManager.connectToDevice(uuid);
|
|
214
217
|
} else {
|
|
215
218
|
throw ERRORS.TypedError(HardwareErrorCode.BleConnectedError, e.reason ?? e);
|
|
216
219
|
}
|
|
@@ -233,8 +236,19 @@ export default class ReactNativeBleTransport {
|
|
|
233
236
|
e.errorCode === BleErrorCode.OperationCancelled
|
|
234
237
|
) {
|
|
235
238
|
connectOptions = {};
|
|
236
|
-
await device.connect();
|
|
237
239
|
this.Log.debug('second try to reconnect without params');
|
|
240
|
+
try {
|
|
241
|
+
await device.connect();
|
|
242
|
+
} catch (e) {
|
|
243
|
+
this.Log.debug('last try to reconnect error: ', e);
|
|
244
|
+
// last try to reconnect device if this issue exists
|
|
245
|
+
// https://github.com/dotintent/react-native-ble-plx/issues/426
|
|
246
|
+
if (e.errorCode === BleErrorCode.OperationCancelled) {
|
|
247
|
+
this.Log.debug('last try to reconnect');
|
|
248
|
+
await device.cancelConnection();
|
|
249
|
+
await device.connect();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
238
252
|
} else {
|
|
239
253
|
throw ERRORS.TypedError(HardwareErrorCode.BleConnectedError, e.reason ?? e);
|
|
240
254
|
}
|