@ledgerhq/react-native-hw-transport-ble 6.33.4 → 6.34.0-nightly.0
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/CHANGELOG.md +7 -0
- package/lib/BlePlxManager.d.ts +28 -0
- package/lib/BlePlxManager.d.ts.map +1 -0
- package/lib/BlePlxManager.js +80 -0
- package/lib/BlePlxManager.js.map +1 -0
- package/lib/BleTransport.d.ts +8 -10
- package/lib/BleTransport.d.ts.map +1 -1
- package/lib/BleTransport.js +55 -55
- package/lib/BleTransport.js.map +1 -1
- package/lib-es/BlePlxManager.d.ts +28 -0
- package/lib-es/BlePlxManager.d.ts.map +1 -0
- package/lib-es/BlePlxManager.js +76 -0
- package/lib-es/BlePlxManager.js.map +1 -0
- package/lib-es/BleTransport.d.ts +8 -10
- package/lib-es/BleTransport.d.ts.map +1 -1
- package/lib-es/BleTransport.js +61 -61
- package/lib-es/BleTransport.js.map +1 -1
- package/package.json +4 -3
- package/src/BlePlxManager.ts +72 -0
- package/src/BleTransport.ts +91 -105
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @ledgerhq/react-native-hw-transport-ble
|
|
2
2
|
|
|
3
|
+
## 6.34.0-nightly.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#8774](https://github.com/LedgerHQ/ledger-live/pull/8774) [`8cf98f7`](https://github.com/LedgerHQ/ledger-live/commit/8cf98f7a2f5afa857f761122ef2bc3743294a903) Thanks [@jdabbech-ledger](https://github.com/jdabbech-ledger)! - Extract Ble plx instance in a specific class
|
|
8
|
+
Update react-native-ble-plx to 3.2.1
|
|
9
|
+
|
|
3
10
|
## 6.33.4
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BleManager as RNBleManager, Device, BleError } from "react-native-ble-plx";
|
|
2
|
+
export declare class BlePlxManager {
|
|
3
|
+
/**
|
|
4
|
+
* Returns the instance of the Bluetooth Low Energy Manager. It initializes it only
|
|
5
|
+
* when it's first needed, preventing the permission prompt happening prematurely.
|
|
6
|
+
* Important: Do NOT access the _bleManager variable directly.
|
|
7
|
+
* Use this function instead.
|
|
8
|
+
* @returns {BleManager} - The instance of the BleManager.
|
|
9
|
+
*/
|
|
10
|
+
static _instance: RNBleManager;
|
|
11
|
+
static get instance(): RNBleManager;
|
|
12
|
+
static waitOn(): Promise<void>;
|
|
13
|
+
static getKnownDevice(identifier: string): Promise<Device>;
|
|
14
|
+
static getConnectedDevices(): Promise<Device[]>;
|
|
15
|
+
static connect(identifier: string, options?: Record<string, unknown>): Promise<Device>;
|
|
16
|
+
/**
|
|
17
|
+
* Exposed method from the ble-plx library
|
|
18
|
+
* Sets new log level for native module's logging mechanism.
|
|
19
|
+
* @param logLevel
|
|
20
|
+
*/
|
|
21
|
+
static setLogLevel(logLevel: string): Promise<void>;
|
|
22
|
+
static onStateChange(listener: (state: any) => void, emitCurrentState?: boolean): import("react-native-ble-plx").Subscription;
|
|
23
|
+
static startScan(callback: (error: BleError | null, device: Device | null) => void): Promise<void>;
|
|
24
|
+
static stopScan(): Promise<void>;
|
|
25
|
+
static disconnectDevice(deviceIdentifier: string): Promise<void>;
|
|
26
|
+
static cancelTransaction(transactionId: string): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=BlePlxManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlePlxManager.d.ts","sourceRoot":"","sources":["../src/BlePlxManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAY,MAAM,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAI9F,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;IAE/B,MAAM,KAAK,QAAQ,IAAI,YAAY,CAKlC;IAED,MAAM,CAAC,MAAM;WAIA,cAAc,CAAC,UAAU,EAAE,MAAM;IAK9C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAGxE;;;;OAIG;WACU,WAAW,CAAC,QAAQ,EAAE,MAAM;IAQzC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO;WAIlE,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;WAM3E,QAAQ;WAIR,gBAAgB,CAAC,gBAAgB,EAAE,MAAM;WAIzC,iBAAiB,CAAC,aAAa,EAAE,MAAM;CAGrD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BlePlxManager = void 0;
|
|
13
|
+
const react_native_ble_plx_1 = require("react-native-ble-plx");
|
|
14
|
+
const awaitsBleOn_1 = require("./awaitsBleOn");
|
|
15
|
+
const devices_1 = require("@ledgerhq/devices");
|
|
16
|
+
class BlePlxManager {
|
|
17
|
+
static get instance() {
|
|
18
|
+
if (!this._instance) {
|
|
19
|
+
this._instance = new react_native_ble_plx_1.BleManager();
|
|
20
|
+
}
|
|
21
|
+
return this._instance;
|
|
22
|
+
}
|
|
23
|
+
static waitOn() {
|
|
24
|
+
return (0, awaitsBleOn_1.awaitsBleOn)(BlePlxManager.instance);
|
|
25
|
+
}
|
|
26
|
+
static getKnownDevice(identifier) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const devices = yield this.instance.devices([identifier]);
|
|
29
|
+
return devices[0];
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
static getConnectedDevices() {
|
|
33
|
+
return this.instance.connectedDevices((0, devices_1.getBluetoothServiceUuids)());
|
|
34
|
+
}
|
|
35
|
+
static connect(identifier, options = {}) {
|
|
36
|
+
return this.instance.connectToDevice(identifier, options);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Exposed method from the ble-plx library
|
|
40
|
+
* Sets new log level for native module's logging mechanism.
|
|
41
|
+
* @param logLevel
|
|
42
|
+
*/
|
|
43
|
+
static setLogLevel(logLevel) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
if (Object.values(react_native_ble_plx_1.LogLevel).includes(logLevel)) {
|
|
46
|
+
yield this.instance.setLogLevel(logLevel);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw new Error(`${logLevel} is not a valid LogLevel`);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
static onStateChange(listener, emitCurrentState) {
|
|
54
|
+
return this.instance.onStateChange(listener, emitCurrentState);
|
|
55
|
+
}
|
|
56
|
+
static startScan(callback) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
yield this.instance.startDeviceScan((0, devices_1.getBluetoothServiceUuids)(), null, (error, device) => {
|
|
59
|
+
callback(error, device);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
static stopScan() {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
yield this.instance.stopDeviceScan();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
static disconnectDevice(deviceIdentifier) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
yield this.instance.cancelDeviceConnection(deviceIdentifier);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
static cancelTransaction(transactionId) {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
yield this.instance.cancelTransaction(transactionId);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.BlePlxManager = BlePlxManager;
|
|
80
|
+
//# sourceMappingURL=BlePlxManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlePlxManager.js","sourceRoot":"","sources":["../src/BlePlxManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA8F;AAC9F,+CAA4C;AAC5C,+CAA6D;AAE7D,MAAa,aAAa;IAUxB,MAAM,KAAK,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAY,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,IAAA,yBAAW,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAO,cAAc,CAAC,UAAkB;;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;KAAA;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAA,kCAAwB,GAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAkB,EAAE,UAAmC,EAAE;QACtE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAO,WAAW,CAAC,QAAgB;;YACvC,IAAI,MAAM,CAAC,MAAM,CAAS,+BAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAoB,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,0BAA0B,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;KAAA;IAED,MAAM,CAAC,aAAa,CAAC,QAA8B,EAAE,gBAA0B;QAC7E,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAO,SAAS,CAAC,QAAiE;;YACtF,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAA,kCAAwB,GAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,MAAM,CAAO,QAAQ;;YACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,gBAAgB,CAAC,gBAAwB;;YACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,CAAC;KAAA;IAED,MAAM,CAAO,iBAAiB,CAAC,aAAqB;;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;KAAA;CACF;AAnED,sCAmEC"}
|
package/lib/BleTransport.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import type { Observer as TransportObserver, Subscription as TransportSubscription } from "@ledgerhq/hw-transport";
|
|
2
3
|
import Transport from "@ledgerhq/hw-transport";
|
|
3
|
-
import
|
|
4
|
-
import { DeviceId, Device, Characteristic } from "react-native-ble-plx";
|
|
4
|
+
import { Characteristic, Device, DeviceId, Subscription } from "react-native-ble-plx";
|
|
5
5
|
import type { DeviceModel } from "@ledgerhq/devices";
|
|
6
|
-
import { TraceContext } from "@ledgerhq/logs";
|
|
6
|
+
import { LocalTracer, TraceContext } from "@ledgerhq/logs";
|
|
7
7
|
import { Observable, Observer, SchedulerLike } from "rxjs";
|
|
8
8
|
import { HwTransportError } from "@ledgerhq/errors";
|
|
9
9
|
import { ReconnectionConfig } from "./types";
|
|
10
|
+
import { BlePlxManager } from "./BlePlxManager";
|
|
10
11
|
export declare const setReconnectionConfig: (config: ReconnectionConfig | null | undefined) => void;
|
|
11
12
|
/**
|
|
12
13
|
* react-native bluetooth BLE implementation
|
|
@@ -23,14 +24,9 @@ export default class BleTransport extends Transport {
|
|
|
23
24
|
*
|
|
24
25
|
*/
|
|
25
26
|
static list: () => Promise<void[]>;
|
|
27
|
+
static setLogLevel: typeof BlePlxManager.setLogLevel;
|
|
26
28
|
/**
|
|
27
|
-
*
|
|
28
|
-
* Sets new log level for native module's logging mechanism.
|
|
29
|
-
* @param string logLevel New log level to be set.
|
|
30
|
-
*/
|
|
31
|
-
static setLogLevel: (logLevel: string) => void;
|
|
32
|
-
/**
|
|
33
|
-
* Listen to state changes on the bleManagerInstance and notify the
|
|
29
|
+
* Listen to state changes on the BlePlxManagerInstance and notify the
|
|
34
30
|
* specified observer.
|
|
35
31
|
* @param observer
|
|
36
32
|
* @returns TransportSubscription
|
|
@@ -39,9 +35,11 @@ export default class BleTransport extends Transport {
|
|
|
39
35
|
type: string;
|
|
40
36
|
available: boolean;
|
|
41
37
|
}>): TransportSubscription;
|
|
38
|
+
static safeRemove: (sub: Subscription, tracer: LocalTracer) => void;
|
|
42
39
|
/**
|
|
43
40
|
* Scan for bluetooth Ledger devices
|
|
44
41
|
* @param observer Device is partial in order to avoid the live-common/this dep
|
|
42
|
+
* @param context
|
|
45
43
|
* @returns TransportSubscription
|
|
46
44
|
*/
|
|
47
45
|
static listen(observer: TransportObserver<any, HwTransportError>, context?: TraceContext): TransportSubscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
|
package/lib/BleTransport.js
CHANGED
|
@@ -33,8 +33,8 @@ const rxjs_1 = require("rxjs");
|
|
|
33
33
|
const operators_1 = require("rxjs/operators");
|
|
34
34
|
const errors_1 = require("@ledgerhq/errors");
|
|
35
35
|
const monitorCharacteristic_1 = require("./monitorCharacteristic");
|
|
36
|
-
const awaitsBleOn_1 = require("./awaitsBleOn");
|
|
37
36
|
const remapErrors_1 = require("./remapErrors");
|
|
37
|
+
const BlePlxManager_1 = require("./BlePlxManager");
|
|
38
38
|
const LOG_TYPE = "ble-verbose";
|
|
39
39
|
/**
|
|
40
40
|
* This is potentially not needed anymore, to be checked if the bug is still
|
|
@@ -77,20 +77,6 @@ let connectOptions = {
|
|
|
77
77
|
// Priority 1 = high. TODO: Check firmware update over BLE PR before merging
|
|
78
78
|
connectionPriority: 1,
|
|
79
79
|
};
|
|
80
|
-
/**
|
|
81
|
-
* Returns the instance of the Bluetooth Low Energy Manager. It initializes it only
|
|
82
|
-
* when it's first needed, preventing the permission prompt happening prematurely.
|
|
83
|
-
* Important: Do NOT access the _bleManager variable directly.
|
|
84
|
-
* Use this function instead.
|
|
85
|
-
* @returns {BleManager} - The instance of the BleManager.
|
|
86
|
-
*/
|
|
87
|
-
let _bleManager = null;
|
|
88
|
-
const bleManagerInstance = () => {
|
|
89
|
-
if (!_bleManager) {
|
|
90
|
-
_bleManager = new react_native_ble_plx_1.BleManager();
|
|
91
|
-
}
|
|
92
|
-
return _bleManager;
|
|
93
|
-
};
|
|
94
80
|
const clearDisconnectTimeout = (deviceId, context) => {
|
|
95
81
|
const cachedTransport = transportsCache[deviceId];
|
|
96
82
|
if (cachedTransport && cachedTransport.disconnectTimeout) {
|
|
@@ -123,16 +109,15 @@ function open(deviceOrId_1, needsReconnect_1, timeoutMs_1, context_1) {
|
|
|
123
109
|
return transportsCache[deviceOrId];
|
|
124
110
|
}
|
|
125
111
|
tracer.trace(`Trying to open device: ${deviceOrId}`);
|
|
126
|
-
yield
|
|
112
|
+
yield BlePlxManager_1.BlePlxManager.waitOn();
|
|
127
113
|
// Returns a list of known devices by their identifiers
|
|
128
|
-
|
|
129
|
-
tracer.trace(`Found ${devices.length} already known device(s) with given id`, { deviceOrId });
|
|
130
|
-
[device] = devices;
|
|
114
|
+
device = yield BlePlxManager_1.BlePlxManager.getKnownDevice(deviceOrId);
|
|
131
115
|
if (!device) {
|
|
116
|
+
tracer.trace(`Found already known device with given id`, { deviceOrId });
|
|
132
117
|
// Returns a list of the peripherals currently connected to the system
|
|
133
118
|
// which have discovered services, connected to system doesn't mean
|
|
134
119
|
// connected to our app, we check that below.
|
|
135
|
-
const connectedDevices = yield
|
|
120
|
+
const connectedDevices = yield BlePlxManager_1.BlePlxManager.getConnectedDevices();
|
|
136
121
|
const connectedDevicesFiltered = connectedDevices.filter(d => d.id === deviceOrId);
|
|
137
122
|
tracer.trace(`No known device with given id. Found ${connectedDevicesFiltered.length} devices from already connected devices`, { deviceOrId });
|
|
138
123
|
[device] = connectedDevicesFiltered;
|
|
@@ -145,14 +130,14 @@ function open(deviceOrId_1, needsReconnect_1, timeoutMs_1, context_1) {
|
|
|
145
130
|
});
|
|
146
131
|
// Nb ConnectionOptions dropped since it's not used internally by ble-plx.
|
|
147
132
|
try {
|
|
148
|
-
device = yield
|
|
133
|
+
device = yield BlePlxManager_1.BlePlxManager.connect(deviceOrId, Object.assign(Object.assign({}, connectOptions), { timeout: timeoutMs }));
|
|
149
134
|
}
|
|
150
135
|
catch (e) {
|
|
151
136
|
tracer.trace(`Error code: ${e.errorCode}`);
|
|
152
137
|
if (e.errorCode === react_native_ble_plx_1.BleErrorCode.DeviceMTUChangeFailed) {
|
|
153
138
|
// If the MTU update did not work, we try to connect without requesting for a specific MTU
|
|
154
139
|
connectOptions = {};
|
|
155
|
-
device = yield
|
|
140
|
+
device = yield BlePlxManager_1.BlePlxManager.connect(deviceOrId, { timeout: timeoutMs });
|
|
156
141
|
}
|
|
157
142
|
else {
|
|
158
143
|
throw e;
|
|
@@ -351,7 +336,7 @@ function open(deviceOrId_1, needsReconnect_1, timeoutMs_1, context_1) {
|
|
|
351
336
|
*/
|
|
352
337
|
class BleTransport extends hw_transport_1.default {
|
|
353
338
|
/**
|
|
354
|
-
* Listen to state changes on the
|
|
339
|
+
* Listen to state changes on the BlePlxManagerInstance and notify the
|
|
355
340
|
* specified observer.
|
|
356
341
|
* @param observer
|
|
357
342
|
* @returns TransportSubscription
|
|
@@ -363,7 +348,7 @@ class BleTransport extends hw_transport_1.default {
|
|
|
363
348
|
available: type === "PoweredOn",
|
|
364
349
|
});
|
|
365
350
|
};
|
|
366
|
-
|
|
351
|
+
BlePlxManager_1.BlePlxManager.onStateChange(emitFromState, true);
|
|
367
352
|
return {
|
|
368
353
|
unsubscribe: () => { },
|
|
369
354
|
};
|
|
@@ -371,26 +356,37 @@ class BleTransport extends hw_transport_1.default {
|
|
|
371
356
|
/**
|
|
372
357
|
* Scan for bluetooth Ledger devices
|
|
373
358
|
* @param observer Device is partial in order to avoid the live-common/this dep
|
|
359
|
+
* @param context
|
|
374
360
|
* @returns TransportSubscription
|
|
375
361
|
*/
|
|
376
362
|
static listen(observer, context) {
|
|
377
363
|
const tracer = new logs_1.LocalTracer(LOG_TYPE, context);
|
|
378
364
|
tracer.trace("Listening for devices ...");
|
|
379
365
|
let unsubscribed;
|
|
380
|
-
const stateSub =
|
|
366
|
+
const stateSub = BlePlxManager_1.BlePlxManager.onStateChange((state) => __awaiter(this, void 0, void 0, function* () {
|
|
381
367
|
if (state === "PoweredOn") {
|
|
382
|
-
|
|
383
|
-
const devices = yield
|
|
368
|
+
_a.safeRemove(stateSub, tracer);
|
|
369
|
+
const devices = yield BlePlxManager_1.BlePlxManager.getConnectedDevices().catch(err => {
|
|
370
|
+
// Handle possible connection errors
|
|
371
|
+
tracer.trace("Error while fetching connected devices", { err });
|
|
372
|
+
return [];
|
|
373
|
+
});
|
|
384
374
|
if (unsubscribed)
|
|
385
375
|
return;
|
|
386
376
|
if (devices.length) {
|
|
387
377
|
tracer.trace("Disconnecting from all devices", { deviceCount: devices.length });
|
|
388
|
-
|
|
378
|
+
try {
|
|
379
|
+
yield Promise.all(devices.map(d => _a.disconnectDevice(d.id)));
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
tracer.trace("Error disconnecting some devices", { error });
|
|
383
|
+
}
|
|
389
384
|
}
|
|
390
385
|
if (unsubscribed)
|
|
391
386
|
return;
|
|
392
|
-
|
|
387
|
+
yield BlePlxManager_1.BlePlxManager.startScan((bleError, scannedDevice) => {
|
|
393
388
|
if (bleError) {
|
|
389
|
+
tracer.trace("Listening startDeviceScan error", { scannedDevice, bleError });
|
|
394
390
|
observer.error((0, remapErrors_1.mapBleErrorToHwTransportError)(bleError));
|
|
395
391
|
unsubscribe();
|
|
396
392
|
return;
|
|
@@ -408,10 +404,13 @@ class BleTransport extends hw_transport_1.default {
|
|
|
408
404
|
}
|
|
409
405
|
}), true);
|
|
410
406
|
const unsubscribe = () => {
|
|
407
|
+
if (unsubscribed)
|
|
408
|
+
return;
|
|
411
409
|
unsubscribed = true;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
410
|
+
BlePlxManager_1.BlePlxManager.stopScan().then(() => {
|
|
411
|
+
_a.safeRemove(stateSub, tracer);
|
|
412
|
+
tracer.trace("Done listening");
|
|
413
|
+
});
|
|
415
414
|
};
|
|
416
415
|
return {
|
|
417
416
|
unsubscribe,
|
|
@@ -487,7 +486,7 @@ class BleTransport extends hw_transport_1.default {
|
|
|
487
486
|
transactionIds: this.currentTransactionIds,
|
|
488
487
|
});
|
|
489
488
|
// No concurrent exchange should happen at the same time, so all pending operations are part of the same exchange
|
|
490
|
-
this.cancelPendingOperations();
|
|
489
|
+
yield this.cancelPendingOperations();
|
|
491
490
|
throw new errors_1.TransportExchangeTimeoutError("Exchange aborted due to timeout");
|
|
492
491
|
}
|
|
493
492
|
tracer.withType("ble-error").trace(`Error while exchanging APDU`, { error });
|
|
@@ -565,15 +564,17 @@ class BleTransport extends hw_transport_1.default {
|
|
|
565
564
|
* is called so the error is ignored)
|
|
566
565
|
*/
|
|
567
566
|
cancelPendingOperations() {
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
567
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
568
|
+
for (const transactionId of this.currentTransactionIds) {
|
|
569
|
+
try {
|
|
570
|
+
this.tracer.trace("Cancelling operation", { transactionId });
|
|
571
|
+
yield BlePlxManager_1.BlePlxManager.cancelTransaction(transactionId);
|
|
572
|
+
}
|
|
573
|
+
catch (error) {
|
|
574
|
+
this.tracer.trace("Error while cancelling operation", { transactionId, error });
|
|
575
|
+
}
|
|
575
576
|
}
|
|
576
|
-
}
|
|
577
|
+
});
|
|
577
578
|
}
|
|
578
579
|
/**
|
|
579
580
|
* Sets the collection of current transaction ids to an empty array
|
|
@@ -674,24 +675,25 @@ BleTransport.disconnectTimeoutMs = 5000;
|
|
|
674
675
|
/**
|
|
675
676
|
*
|
|
676
677
|
*/
|
|
677
|
-
BleTransport.isSupported = () => Promise.resolve(typeof
|
|
678
|
+
BleTransport.isSupported = () => Promise.resolve(typeof BlePlxManager_1.BlePlxManager === "function");
|
|
678
679
|
/**
|
|
679
680
|
*
|
|
680
681
|
*/
|
|
681
682
|
BleTransport.list = () => {
|
|
682
683
|
throw new Error("not implemented");
|
|
683
684
|
};
|
|
684
|
-
/**
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
BleTransport.setLogLevel =
|
|
690
|
-
|
|
691
|
-
|
|
685
|
+
// /**
|
|
686
|
+
// * Exposed method from the ble-plx library
|
|
687
|
+
// * Sets new log level for native module's logging mechanism.
|
|
688
|
+
// * @param string logLevel New log level to be set.
|
|
689
|
+
// */
|
|
690
|
+
BleTransport.setLogLevel = BlePlxManager_1.BlePlxManager.setLogLevel;
|
|
691
|
+
BleTransport.safeRemove = (sub, tracer) => {
|
|
692
|
+
try {
|
|
693
|
+
sub.remove();
|
|
692
694
|
}
|
|
693
|
-
|
|
694
|
-
|
|
695
|
+
catch (error) {
|
|
696
|
+
tracer.trace("Error removing state subscription", { error });
|
|
695
697
|
}
|
|
696
698
|
};
|
|
697
699
|
/**
|
|
@@ -704,9 +706,7 @@ BleTransport.setLogLevel = (logLevel) => {
|
|
|
704
706
|
BleTransport.disconnectDevice = (id, context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
705
707
|
const tracer = new logs_1.LocalTracer(LOG_TYPE, context);
|
|
706
708
|
tracer.trace(`Trying to disconnect device ${id}`);
|
|
707
|
-
yield
|
|
708
|
-
.cancelDeviceConnection(id)
|
|
709
|
-
.catch(error => {
|
|
709
|
+
yield BlePlxManager_1.BlePlxManager.disconnectDevice(id).catch(error => {
|
|
710
710
|
// Only log, ignore if disconnect did not work
|
|
711
711
|
tracer
|
|
712
712
|
.withType("ble-error")
|
package/lib/BleTransport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BleManager as RNBleManager, Device, BleError } from "react-native-ble-plx";
|
|
2
|
+
export declare class BlePlxManager {
|
|
3
|
+
/**
|
|
4
|
+
* Returns the instance of the Bluetooth Low Energy Manager. It initializes it only
|
|
5
|
+
* when it's first needed, preventing the permission prompt happening prematurely.
|
|
6
|
+
* Important: Do NOT access the _bleManager variable directly.
|
|
7
|
+
* Use this function instead.
|
|
8
|
+
* @returns {BleManager} - The instance of the BleManager.
|
|
9
|
+
*/
|
|
10
|
+
static _instance: RNBleManager;
|
|
11
|
+
static get instance(): RNBleManager;
|
|
12
|
+
static waitOn(): Promise<void>;
|
|
13
|
+
static getKnownDevice(identifier: string): Promise<Device>;
|
|
14
|
+
static getConnectedDevices(): Promise<Device[]>;
|
|
15
|
+
static connect(identifier: string, options?: Record<string, unknown>): Promise<Device>;
|
|
16
|
+
/**
|
|
17
|
+
* Exposed method from the ble-plx library
|
|
18
|
+
* Sets new log level for native module's logging mechanism.
|
|
19
|
+
* @param logLevel
|
|
20
|
+
*/
|
|
21
|
+
static setLogLevel(logLevel: string): Promise<void>;
|
|
22
|
+
static onStateChange(listener: (state: any) => void, emitCurrentState?: boolean): import("react-native-ble-plx").Subscription;
|
|
23
|
+
static startScan(callback: (error: BleError | null, device: Device | null) => void): Promise<void>;
|
|
24
|
+
static stopScan(): Promise<void>;
|
|
25
|
+
static disconnectDevice(deviceIdentifier: string): Promise<void>;
|
|
26
|
+
static cancelTransaction(transactionId: string): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=BlePlxManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlePlxManager.d.ts","sourceRoot":"","sources":["../src/BlePlxManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAY,MAAM,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAI9F,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;IAE/B,MAAM,KAAK,QAAQ,IAAI,YAAY,CAKlC;IAED,MAAM,CAAC,MAAM;WAIA,cAAc,CAAC,UAAU,EAAE,MAAM;IAK9C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAGxE;;;;OAIG;WACU,WAAW,CAAC,QAAQ,EAAE,MAAM;IAQzC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,gBAAgB,CAAC,EAAE,OAAO;WAIlE,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;WAM3E,QAAQ;WAIR,gBAAgB,CAAC,gBAAgB,EAAE,MAAM;WAIzC,iBAAiB,CAAC,aAAa,EAAE,MAAM;CAGrD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { BleManager as RNBleManager, LogLevel } from "react-native-ble-plx";
|
|
11
|
+
import { awaitsBleOn } from "./awaitsBleOn";
|
|
12
|
+
import { getBluetoothServiceUuids } from "@ledgerhq/devices";
|
|
13
|
+
export class BlePlxManager {
|
|
14
|
+
static get instance() {
|
|
15
|
+
if (!this._instance) {
|
|
16
|
+
this._instance = new RNBleManager();
|
|
17
|
+
}
|
|
18
|
+
return this._instance;
|
|
19
|
+
}
|
|
20
|
+
static waitOn() {
|
|
21
|
+
return awaitsBleOn(BlePlxManager.instance);
|
|
22
|
+
}
|
|
23
|
+
static getKnownDevice(identifier) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const devices = yield this.instance.devices([identifier]);
|
|
26
|
+
return devices[0];
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static getConnectedDevices() {
|
|
30
|
+
return this.instance.connectedDevices(getBluetoothServiceUuids());
|
|
31
|
+
}
|
|
32
|
+
static connect(identifier, options = {}) {
|
|
33
|
+
return this.instance.connectToDevice(identifier, options);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Exposed method from the ble-plx library
|
|
37
|
+
* Sets new log level for native module's logging mechanism.
|
|
38
|
+
* @param logLevel
|
|
39
|
+
*/
|
|
40
|
+
static setLogLevel(logLevel) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (Object.values(LogLevel).includes(logLevel)) {
|
|
43
|
+
yield this.instance.setLogLevel(logLevel);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw new Error(`${logLevel} is not a valid LogLevel`);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
static onStateChange(listener, emitCurrentState) {
|
|
51
|
+
return this.instance.onStateChange(listener, emitCurrentState);
|
|
52
|
+
}
|
|
53
|
+
static startScan(callback) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
yield this.instance.startDeviceScan(getBluetoothServiceUuids(), null, (error, device) => {
|
|
56
|
+
callback(error, device);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
static stopScan() {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
yield this.instance.stopDeviceScan();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static disconnectDevice(deviceIdentifier) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
yield this.instance.cancelDeviceConnection(deviceIdentifier);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static cancelTransaction(transactionId) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
yield this.instance.cancelTransaction(transactionId);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=BlePlxManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlePlxManager.js","sourceRoot":"","sources":["../src/BlePlxManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,OAAO,aAAa;IAUxB,MAAM,KAAK,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAO,cAAc,CAAC,UAAkB;;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;KAAA;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAkB,EAAE,UAAmC,EAAE;QACtE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAO,WAAW,CAAC,QAAgB;;YACvC,IAAI,MAAM,CAAC,MAAM,CAAS,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAoB,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,0BAA0B,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;KAAA;IAED,MAAM,CAAC,aAAa,CAAC,QAA8B,EAAE,gBAA0B;QAC7E,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAO,SAAS,CAAC,QAAiE;;YACtF,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,MAAM,CAAO,QAAQ;;YACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,gBAAgB,CAAC,gBAAwB;;YACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,CAAC;KAAA;IAED,MAAM,CAAO,iBAAiB,CAAC,aAAqB;;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;KAAA;CACF"}
|