@ledgerhq/react-native-hw-transport-ble 6.33.4-next.0 → 6.34.0-next.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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/react-native-hw-transport-ble@6.33.3 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/react-native-hw-transport-ble
2
+ > @ledgerhq/react-native-hw-transport-ble@6.33.4 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/react-native-hw-transport-ble
3
3
  > tsc && tsc -m ES6 --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ledgerhq/react-native-hw-transport-ble
2
2
 
3
+ ## 6.34.0-next.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
+
10
+ ## 6.33.4
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`0a71c43`](https://github.com/LedgerHQ/ledger-live/commit/0a71c4344b7bb2c6640f3e5dda152ae815573330)]:
15
+ - @ledgerhq/errors@6.19.1
16
+ - @ledgerhq/devices@8.4.4
17
+ - @ledgerhq/hw-transport@6.31.4
18
+
3
19
  ## 6.33.4-next.0
4
20
 
5
21
  ### 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"}
@@ -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 type { Subscription as TransportSubscription, Observer as TransportObserver } from "@ledgerhq/hw-transport";
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
- * Exposed method from the ble-plx library
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":"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"}
1
+ {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
@@ -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 (0, awaitsBleOn_1.awaitsBleOn)(bleManagerInstance());
112
+ yield BlePlxManager_1.BlePlxManager.waitOn();
127
113
  // Returns a list of known devices by their identifiers
128
- const devices = yield bleManagerInstance().devices([deviceOrId]);
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 bleManagerInstance().connectedDevices((0, devices_1.getBluetoothServiceUuids)());
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 bleManagerInstance().connectToDevice(deviceOrId, Object.assign(Object.assign({}, connectOptions), { timeout: timeoutMs }));
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 bleManagerInstance().connectToDevice(deviceOrId, { timeout: timeoutMs });
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 bleManagerInstance and notify 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
- bleManagerInstance().onStateChange(emitFromState, true);
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 = bleManagerInstance().onStateChange((state) => __awaiter(this, void 0, void 0, function* () {
366
+ const stateSub = BlePlxManager_1.BlePlxManager.onStateChange((state) => __awaiter(this, void 0, void 0, function* () {
381
367
  if (state === "PoweredOn") {
382
- stateSub.remove();
383
- const devices = yield bleManagerInstance().connectedDevices((0, devices_1.getBluetoothServiceUuids)());
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
- yield Promise.all(devices.map(d => _a.disconnectDevice(d.id)));
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
- bleManagerInstance().startDeviceScan((0, devices_1.getBluetoothServiceUuids)(), null, (bleError, scannedDevice) => {
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
- bleManagerInstance().stopDeviceScan();
413
- stateSub.remove();
414
- tracer.trace("Done listening");
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
- for (const transactionId of this.currentTransactionIds) {
569
- try {
570
- this.tracer.trace("Cancelling operation", { transactionId });
571
- bleManagerInstance().cancelTransaction(transactionId);
572
- }
573
- catch (error) {
574
- this.tracer.trace("Error while cancelling operation", { transactionId, error });
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 react_native_ble_plx_1.BleManager === "function");
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
- * Exposed method from the ble-plx library
686
- * Sets new log level for native module's logging mechanism.
687
- * @param string logLevel New log level to be set.
688
- */
689
- BleTransport.setLogLevel = (logLevel) => {
690
- if (Object.values(react_native_ble_plx_1.LogLevel).includes(logLevel)) {
691
- bleManagerInstance().setLogLevel(logLevel);
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
- else {
694
- throw new Error(`${logLevel} is not a valid LogLevel`);
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 bleManagerInstance()
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")
@@ -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