react-native-ble-nitro 1.3.0 → 1.4.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.
Files changed (37) hide show
  1. package/README.md +32 -10
  2. package/android/src/main/java/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +6 -0
  3. package/ios/BleNitroBleManager.swift +84 -2
  4. package/lib/commonjs/index.d.ts +4 -188
  5. package/lib/commonjs/index.d.ts.map +1 -1
  6. package/lib/commonjs/index.js +6 -441
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/manager.d.ts +204 -0
  9. package/lib/commonjs/manager.d.ts.map +1 -0
  10. package/lib/commonjs/manager.js +469 -0
  11. package/lib/commonjs/manager.js.map +1 -0
  12. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +2 -0
  13. package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -1
  14. package/lib/index.d.ts +4 -188
  15. package/lib/index.js +3 -436
  16. package/lib/manager.d.ts +203 -0
  17. package/lib/manager.js +455 -0
  18. package/lib/specs/NativeBleNitro.nitro.d.ts +2 -0
  19. package/nitrogen/generated/android/BleNitroOnLoad.cpp +2 -0
  20. package/nitrogen/generated/android/c++/JFunc_void_std__vector_BLEDevice_.hpp +102 -0
  21. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +6 -1
  22. package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +1 -0
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/Func_void_std__vector_BLEDevice_.kt +81 -0
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +9 -0
  25. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +8 -0
  26. package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +38 -16
  27. package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +15 -9
  28. package/nitrogen/generated/ios/swift/Func_void_std__vector_BLEDevice_.swift +47 -0
  29. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +1 -0
  30. package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +22 -0
  31. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.cpp +1 -0
  32. package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +6 -5
  33. package/package.json +9 -1
  34. package/src/__tests__/index.test.ts +24 -21
  35. package/src/index.ts +24 -600
  36. package/src/manager.ts +627 -0
  37. package/src/specs/NativeBleNitro.nitro.ts +4 -0
package/README.md CHANGED
@@ -330,6 +330,30 @@ const fullUUIDs = BleNitro.normalizeGattUUIDs(['180d', '180f']);
330
330
  // Returns: ['0000180d-0000-1000-8000-00805f9b34fb', '0000180f-0000-1000-8000-00805f9b34fb']
331
331
  ```
332
332
 
333
+ ### iOS Restore State
334
+
335
+ There are two ways to handle state restoration on iOS:
336
+
337
+ ```typescript
338
+ // Enable state restoration in BleNitro singleton
339
+ const ble = BleNitro.instance();
340
+ ble.onRestoreState((peripherals) => {
341
+ console.log('Restored peripherals:', peripherals);
342
+ });
343
+ ```
344
+
345
+ ```typescript
346
+ // Or use BleNitroManager with options
347
+ // This way you have to assure that only one instance of BleNitroManager is created and that you always use this instance.
348
+ import { BleNitroManager, BLEDevice } from 'react-native-ble-nitro/manager';
349
+
350
+ const customBleInstance = new BleNitroManager({
351
+ onRestoreState: (peripherals: BLEDevice[]) => {
352
+ console.log('Restored peripherals:', peripherals);
353
+ }
354
+ });
355
+ ```
356
+
333
357
  ### TypeScript Types
334
358
 
335
359
  ```typescript
@@ -394,16 +418,6 @@ Built on [Nitro Modules](https://nitro.margelo.com/) for:
394
418
  - **Android**: ✅ Complete Kotlin implementation using Android BLE APIs
395
419
  - **Shared C++**: Common logic and type definitions via Nitro Modules
396
420
 
397
- ### Compatibility Layer
398
-
399
- While maintaining 100% API compatibility, some internal changes were needed for Nitro:
400
-
401
- - **Enum Values**: Numeric instead of string (transparent to users)
402
- - **Service Data**: Structured format internally (automatic conversion)
403
- - **Type Safety**: Enhanced compile-time checks
404
-
405
- See [API_DIFFERENCES.md](./API_DIFFERENCES.md) for technical details.
406
-
407
421
  ## ⚙️ Configuration
408
422
 
409
423
  ### Expo Plugin Options
@@ -513,6 +527,14 @@ npm test
513
527
  npm run lint
514
528
  ```
515
529
 
530
+ ### Node not found with Android Studio on Mac
531
+
532
+ Start Android Studio from terminal to inherit correct PATH:
533
+
534
+ ```sh
535
+ open -a Android\ Studio.app
536
+ ```
537
+
516
538
  ### Project Structure
517
539
 
518
540
  ```
@@ -37,6 +37,7 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
37
37
  private var bluetoothAdapter: BluetoothAdapter? = null
38
38
  private var stateCallback: ((state: BLEState) -> Unit)? = null
39
39
  private var bluetoothStateReceiver: BroadcastReceiver? = null
40
+ private var restoreStateCallback: ((devices: List<BLEDevice>) -> Unit)? = null
40
41
 
41
42
  // BLE Scanning
42
43
  private var bleScanner: BluetoothLeScanner? = null
@@ -304,6 +305,11 @@ class BleNitroBleManager : HybridNativeBleNitroSpec() {
304
305
  }
305
306
  }
306
307
 
308
+ override fun setRestoreStateCallback(callback: (restoredPeripherals: Array<BLEDevice>) -> Unit) {
309
+ restoreStateCallback = { devices -> callback(devices.toTypedArray()) }
310
+ return
311
+ }
312
+
307
313
  // Scanning operations
308
314
  override fun startScan(filter: com.margelo.nitro.co.zyke.ble.ScanFilter, callback: (device: BLEDevice?, error: String?) -> Unit) {
309
315
  try {
@@ -5,7 +5,13 @@ import NitroModules
5
5
  * iOS implementation of the BLE Nitro Manager
6
6
  * Implements the HybridNativeBleNitroSpec protocol for Core Bluetooth operations
7
7
  */
8
- public class BleNitroBleManager: HybridNativeBleNitroSpec {
8
+ public class BleNitroBleManager: HybridNativeBleNitroSpec_base, HybridNativeBleNitroSpec_protocol {
9
+
10
+ // MARK: - Constants
11
+ private static let restoreStateIdentifier = "react-native-ble-nitro"
12
+
13
+ // MARK: - Static Properties
14
+ private static var globalRestoreStateCallback: (([BLEDevice]) -> Void)?
9
15
 
10
16
  // MARK: - Private Properties
11
17
  private var centralManager: CBCentralManager!
@@ -18,6 +24,9 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
18
24
  private var isCurrentlyScanning = false
19
25
  private var currentScanFilter: ScanFilter?
20
26
  private var centralManagerDelegate: BleCentralManagerDelegate!
27
+
28
+ // MARK: - Restore State Properties
29
+ private var restoreStateCallback: (([BLEDevice]) -> Void)?
21
30
 
22
31
  // MARK: - Initialization
23
32
  public override init() {
@@ -27,9 +36,16 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
27
36
 
28
37
  private func setupCentralManager() {
29
38
  centralManagerDelegate = BleCentralManagerDelegate(manager: self)
30
- centralManager = CBCentralManager(delegate: centralManagerDelegate, queue: DispatchQueue.main)
39
+
40
+ // Create options dictionary for central manager with fixed restore identifier
41
+ let options: [String: Any] = [
42
+ CBCentralManagerOptionRestoreIdentifierKey: BleNitroBleManager.restoreStateIdentifier
43
+ ]
44
+
45
+ centralManager = CBCentralManager(delegate: centralManagerDelegate, queue: DispatchQueue.main, options: options)
31
46
  }
32
47
 
48
+
33
49
  // MARK: - State Management
34
50
  public func state() throws -> BLEState {
35
51
  let bleState = mapCBManagerStateToBLEState(centralManager.state)
@@ -54,6 +70,15 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
54
70
  return OperationResult(success: true, error: nil)
55
71
  }
56
72
 
73
+ // MARK: - Restore State Management
74
+ public func setRestoreStateCallback(callback: @escaping ([BLEDevice]) -> Void) throws {
75
+ print("🔄 setRestoreStateCallback called")
76
+ // Set both static and instance variables
77
+ BleNitroBleManager.globalRestoreStateCallback = callback
78
+ self.restoreStateCallback = callback
79
+ print("🔄 Callback set successfully")
80
+ }
81
+
57
82
  // MARK: - Scanning Operations
58
83
  public func startScan(filter: ScanFilter, callback: @escaping (BLEDevice?, String?) -> Void) throws {
59
84
  guard centralManager.state == .poweredOn else {
@@ -435,6 +460,59 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
435
460
  stateChangeCallback?(state)
436
461
  }
437
462
 
463
+ internal func handleStateRestoration(_ dict: [String: Any]) {
464
+ // Restore connected peripherals
465
+ if let peripherals = dict[CBCentralManagerRestoredStatePeripheralsKey] as? [CBPeripheral] {
466
+ var restoredDevices: [BLEDevice] = []
467
+
468
+ for peripheral in peripherals {
469
+ let deviceId = peripheral.identifier.uuidString
470
+
471
+ // Add to our tracking dictionaries
472
+ discoveredPeripherals[deviceId] = peripheral
473
+ if peripheral.state == .connected {
474
+ connectedPeripherals[deviceId] = peripheral
475
+ }
476
+
477
+ // Create BLE device for the callback
478
+ let device = BLEDevice(
479
+ id: deviceId,
480
+ name: peripheral.name ?? "Restored Device",
481
+ rssi: 0, // RSSI not available for restored peripherals
482
+ manufacturerData: ManufacturerData(companyIdentifiers: []),
483
+ serviceUUIDs: peripheral.services?.map { $0.uuid.uuidString } ?? [],
484
+ isConnectable: true
485
+ )
486
+ restoredDevices.append(device)
487
+
488
+ // Set up delegate for restored peripheral
489
+ let delegate = BlePeripheralDelegate(deviceId: deviceId, manager: self)
490
+ peripheralDelegates[deviceId] = delegate
491
+ peripheral.delegate = delegate
492
+ }
493
+
494
+ // Call the restore state callback if set (prioritize static over instance)
495
+ let callback = BleNitroBleManager.globalRestoreStateCallback ?? restoreStateCallback
496
+ callback?(restoredDevices)
497
+ }
498
+
499
+ // Restore scanning state if it was active
500
+ if let scanServiceUUIDs = dict[CBCentralManagerRestoredStateScanServicesKey] as? [CBUUID] {
501
+ // The system was scanning when the app was terminated
502
+ // We can choose to resume scanning or let the app decide
503
+ isCurrentlyScanning = true
504
+
505
+ // Note: We don't automatically resume scanning here to give the app control
506
+ // The app can check isScanning() and decide whether to resume or stop
507
+ }
508
+
509
+ // Restore scan options if available
510
+ if let scanOptions = dict[CBCentralManagerRestoredStateScanOptionsKey] as? [String: Any] {
511
+ // Store scan options for potential resume
512
+ // This information can be used if the app decides to resume scanning
513
+ }
514
+ }
515
+
438
516
  internal func handleDeviceDiscovered(
439
517
  _ peripheral: CBPeripheral,
440
518
  advertisementData: [String: Any],
@@ -613,4 +691,8 @@ class BleCentralManagerDelegate: NSObject, CBCentralManagerDelegate {
613
691
  func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
614
692
  manager?.handleDeviceDisconnected(peripheral, error: error)
615
693
  }
694
+
695
+ func centralManager(_ central: CBCentralManager, willRestoreState dict: [String: Any]) {
696
+ manager?.handleStateRestoration(dict)
697
+ }
616
698
  }
@@ -1,190 +1,6 @@
1
- export interface ScanFilter {
2
- serviceUUIDs?: string[];
3
- rssiThreshold?: number;
4
- allowDuplicates?: boolean;
5
- androidScanMode?: AndroidScanMode;
1
+ import { BleNitroManager } from "./manager";
2
+ export { type ByteArray, type ScanFilter, type BLEDevice, type ScanCallback, type ManufacturerDataEntry, type ManufacturerData, type ConnectionCallback, type DisconnectEventCallback, type OperationCallback, type CharacteristicUpdateCallback, type Subscription, type BleNitroManager, type BleNitroManagerOptions, BLEState, AndroidScanMode, } from "./manager";
3
+ export declare class BleNitro extends BleNitroManager {
4
+ static instance(): BleNitroManager;
6
5
  }
7
- export interface ManufacturerDataEntry {
8
- id: string;
9
- data: ArrayBuffer;
10
- }
11
- export interface ManufacturerData {
12
- companyIdentifiers: ManufacturerDataEntry[];
13
- }
14
- export interface BLEDevice {
15
- id: string;
16
- name: string;
17
- rssi: number;
18
- manufacturerData: ManufacturerData;
19
- serviceUUIDs: string[];
20
- isConnectable: boolean;
21
- }
22
- export type ScanCallback = (device: BLEDevice) => void;
23
- export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
24
- export type DisconnectEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
25
- export type OperationCallback = (success: boolean, error: string) => void;
26
- export type CharacteristicUpdateCallback = (characteristicId: string, data: ArrayBuffer) => void;
27
- export type Subscription = {
28
- remove: () => void;
29
- };
30
- export declare enum BLEState {
31
- Unknown = "Unknown",
32
- Resetting = "Resetting",
33
- Unsupported = "Unsupported",
34
- Unauthorized = "Unauthorized",
35
- PoweredOff = "PoweredOff",
36
- PoweredOn = "PoweredOn"
37
- }
38
- export declare enum AndroidScanMode {
39
- LowLatency = "LowLatency",
40
- Balanced = "Balanced",
41
- LowPower = "LowPower",
42
- Opportunistic = "Opportunistic"
43
- }
44
- export declare class BleNitro {
45
- private _isScanning;
46
- private _connectedDevices;
47
- static instance(): BleNitro;
48
- /**
49
- * Converts a 16- oder 32-Bit UUID to a 128-Bit UUID
50
- *
51
- * @param uuid 16-, 32- or 128-Bit UUID as string
52
- * @returns Full 128-Bit UUID
53
- */
54
- static normalizeGattUUID(uuid: string): string;
55
- static normalizeGattUUIDs(uuids: string[]): string[];
56
- /**
57
- * Start scanning for Bluetooth devices
58
- * @param filter Optional scan filter
59
- * @param callback Callback function called when a device is found
60
- * @returns Promise resolving to success state
61
- */
62
- startScan(filter: ScanFilter | undefined, callback: ScanCallback, onError?: (error: string) => void): void;
63
- /**
64
- * Stop scanning for Bluetooth devices
65
- * @returns Promise resolving to success state
66
- */
67
- stopScan(): void;
68
- /**
69
- * Check if currently scanning for devices
70
- * @returns Promise resolving to scanning state
71
- */
72
- isScanning(): boolean;
73
- /**
74
- * Get all currently connected devices
75
- * @param services Optional list of service UUIDs to filter by
76
- * @returns Array of connected devices
77
- */
78
- getConnectedDevices(services?: string[]): BLEDevice[];
79
- /**
80
- * Connect to a Bluetooth device
81
- * @param deviceId ID of the device to connect to
82
- * @param onDisconnect Optional callback for disconnect events
83
- * @returns Promise resolving when connected
84
- */
85
- connect(deviceId: string, onDisconnect?: DisconnectEventCallback): Promise<string>;
86
- /**
87
- * Disconnect from a Bluetooth device
88
- * @param deviceId ID of the device to disconnect from
89
- * @returns Promise resolving when disconnected
90
- */
91
- disconnect(deviceId: string): Promise<void>;
92
- /**
93
- * Check if connected to a device
94
- * @param deviceId ID of the device to check
95
- * @returns Promise resolving to connection state
96
- */
97
- isConnected(deviceId: string): boolean;
98
- /**
99
- * Request a new MTU size
100
- * @param deviceId ID of the device
101
- * @param mtu New MTU size, min is 23, max is 517
102
- * @returns On Android: new MTU size; on iOS: current MTU size as it is handled by iOS itself; on error: -1
103
- */
104
- requestMTU(deviceId: string, mtu: number): number;
105
- /**
106
- * Discover services for a connected device
107
- * @param deviceId ID of the device
108
- * @returns Promise resolving when services are discovered
109
- */
110
- discoverServices(deviceId: string): Promise<boolean>;
111
- /**
112
- * Get services for a connected device
113
- * @param deviceId ID of the device
114
- * @returns Promise resolving to array of service UUIDs
115
- */
116
- getServices(deviceId: string): Promise<string[]>;
117
- /**
118
- * Get characteristics for a service
119
- * @param deviceId ID of the device
120
- * @param serviceId ID of the service
121
- * @returns Promise resolving to array of characteristic UUIDs
122
- */
123
- getCharacteristics(deviceId: string, serviceId: string): string[];
124
- /**
125
- * Read a characteristic value
126
- * @param deviceId ID of the device
127
- * @param serviceId ID of the service
128
- * @param characteristicId ID of the characteristic
129
- * @returns Promise resolving to the characteristic data as ArrayBuffer
130
- */
131
- readCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<ArrayBuffer>;
132
- /**
133
- * Write a value to a characteristic
134
- * @param deviceId ID of the device
135
- * @param serviceId ID of the service
136
- * @param characteristicId ID of the characteristic
137
- * @param data Data to write as ArrayBuffer
138
- * @param withResponse Whether to wait for response
139
- * @returns Promise resolving when write is complete
140
- */
141
- writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data: ArrayBuffer, withResponse?: boolean): Promise<boolean>;
142
- /**
143
- * Subscribe to characteristic notifications
144
- * @param deviceId ID of the device
145
- * @param serviceId ID of the service
146
- * @param characteristicId ID of the characteristic
147
- * @param callback Callback function called when notification is received
148
- * @returns Promise resolving when subscription is complete
149
- */
150
- subscribeToCharacteristic(deviceId: string, serviceId: string, characteristicId: string, callback: CharacteristicUpdateCallback): Subscription;
151
- /**
152
- * Unsubscribe from characteristic notifications
153
- * @param deviceId ID of the device
154
- * @param serviceId ID of the service
155
- * @param characteristicId ID of the characteristic
156
- * @returns Promise resolving when unsubscription is complete
157
- */
158
- unsubscribeFromCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<void>;
159
- /**
160
- * Check if Bluetooth is enabled
161
- * @returns Promise resolving to Bluetooth state
162
- */
163
- isBluetoothEnabled(): boolean;
164
- /**
165
- * Request to enable Bluetooth (Android only)
166
- * @returns Promise resolving when Bluetooth is enabled
167
- */
168
- requestBluetoothEnable(): Promise<boolean>;
169
- /**
170
- * Get the current Bluetooth state
171
- * @returns Promise resolving to Bluetooth state
172
- * @see BLEState
173
- */
174
- state(): BLEState;
175
- /**
176
- * Subscribe to Bluetooth state changes
177
- * @param callback Callback function called when state changes
178
- * @param emitInitial Whether to emit initial state callback
179
- * @returns Promise resolving when subscription is complete
180
- * @see BLEState
181
- */
182
- subscribeToStateChange(callback: (state: BLEState) => void, emitInitial?: boolean): Subscription;
183
- /**
184
- * Open Bluetooth settings
185
- * @returns Promise resolving when settings are opened
186
- */
187
- openSettings(): Promise<void>;
188
- }
189
- export declare const ble: BleNitro;
190
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,QAAQ,EACR,eAAe,GAChB,MAAM,WAAW,CAAC;AAInB,qBAAa,QAAS,SAAQ,eAAe;WAC7B,QAAQ;CAMvB"}