react-native-ble-nitro 1.2.0 → 1.3.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/README.md +81 -18
- package/android/CMakeLists.txt +32 -0
- package/android/build.gradle +140 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/co/zyke/ble/BleNitroBleManager.kt +899 -0
- package/android/src/main/java/com/margelo/nitro/co/zyke/ble/BleNitroPackage.kt +38 -0
- package/ios/BleNitroBleManager.swift +7 -3
- package/lib/commonjs/index.d.ts +14 -8
- package/lib/commonjs/index.d.ts.map +1 -1
- package/lib/commonjs/index.js +35 -17
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts +8 -1
- package/lib/commonjs/specs/NativeBleNitro.nitro.d.ts.map +1 -1
- package/lib/commonjs/specs/NativeBleNitro.nitro.js +8 -1
- package/lib/commonjs/specs/NativeBleNitro.nitro.js.map +1 -1
- package/lib/index.d.ts +14 -8
- package/lib/index.js +33 -15
- package/lib/specs/NativeBleNitro.nitro.d.ts +8 -1
- package/lib/specs/NativeBleNitro.nitro.js +7 -0
- package/nitrogen/generated/android/BleNitroOnLoad.cpp +2 -2
- package/nitrogen/generated/android/c++/JAndroidScanMode.hpp +65 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_BLEDevice__std__optional_std__string_.hpp +86 -0
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.cpp +8 -4
- package/nitrogen/generated/android/c++/JHybridNativeBleNitroSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JScanFilter.hpp +8 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/AndroidScanMode.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/{Func_void_BLEDevice.kt → Func_void_std__optional_BLEDevice__std__optional_std__string_.kt} +14 -14
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/HybridNativeBleNitroSpec.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/co/zyke/ble/ScanFilter.kt +4 -1
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.cpp +5 -5
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Bridge.hpp +30 -21
- package/nitrogen/generated/ios/BleNitro-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridNativeBleNitroSpecSwift.hpp +5 -2
- package/nitrogen/generated/ios/swift/AndroidScanMode.swift +48 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_BLEDevice__std__optional_std__string_.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNativeBleNitroSpec_cxx.swift +17 -5
- package/nitrogen/generated/ios/swift/ScanFilter.swift +13 -2
- package/nitrogen/generated/shared/c++/AndroidScanMode.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridNativeBleNitroSpec.hpp +3 -3
- package/nitrogen/generated/shared/c++/ScanFilter.hpp +9 -3
- package/package.json +1 -1
- package/plugin/build/index.d.ts +2 -0
- package/plugin/build/index.js +2 -0
- package/plugin/build/withBleNitro.d.ts +5 -1
- package/plugin/build/withBleNitro.js +18 -7
- package/src/__tests__/index.test.ts +48 -13
- package/src/index.ts +40 -21
- package/src/specs/NativeBleNitro.nitro.ts +9 -1
- package/nitrogen/generated/android/c++/JFunc_void_BLEDevice.hpp +0 -85
- package/nitrogen/generated/ios/swift/Func_void_BLEDevice.swift +0 -47
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
package com.margelo.nitro.co.zyke.ble
|
|
2
|
+
|
|
3
|
+
import android.util.Log
|
|
4
|
+
import com.facebook.react.bridge.NativeModule
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
7
|
+
import com.facebook.react.TurboReactPackage
|
|
8
|
+
|
|
9
|
+
class BleNitroPackage : TurboReactPackage() {
|
|
10
|
+
|
|
11
|
+
private var contextSet = false
|
|
12
|
+
|
|
13
|
+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
14
|
+
// Set context if not already set
|
|
15
|
+
if (!contextSet) {
|
|
16
|
+
BleNitroBleManager.setContext(reactContext)
|
|
17
|
+
contextSet = true
|
|
18
|
+
}
|
|
19
|
+
return null
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
23
|
+
return ReactModuleInfoProvider { HashMap() }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Override this method to ensure context is set during package initialization
|
|
27
|
+
override fun createNativeModules(reactContext: ReactApplicationContext): MutableList<NativeModule> {
|
|
28
|
+
// Set context during package creation
|
|
29
|
+
BleNitroBleManager.setContext(reactContext)
|
|
30
|
+
return super.createNativeModules(reactContext).toMutableList()
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
companion object {
|
|
34
|
+
init {
|
|
35
|
+
BleNitroOnLoad.initializeNative()
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -55,14 +55,18 @@ public class BleNitroBleManager: HybridNativeBleNitroSpec {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
// MARK: - Scanning Operations
|
|
58
|
-
public func startScan(filter: ScanFilter, callback: @escaping (BLEDevice) -> Void) throws {
|
|
58
|
+
public func startScan(filter: ScanFilter, callback: @escaping (BLEDevice?, String?) -> Void) throws {
|
|
59
59
|
guard centralManager.state == .poweredOn else {
|
|
60
60
|
throw NSError(domain: "BleNitroError", code: 1, userInfo: [
|
|
61
61
|
NSLocalizedDescriptionKey: "Bluetooth is not powered on"
|
|
62
62
|
])
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
|
|
65
|
+
// remove error option from callback
|
|
66
|
+
func scanCallbackWrapper(device: BLEDevice?) {
|
|
67
|
+
callback(device, nil)
|
|
68
|
+
}
|
|
69
|
+
self.scanCallback = scanCallbackWrapper
|
|
66
70
|
self.currentScanFilter = filter
|
|
67
71
|
self.isCurrentlyScanning = true
|
|
68
72
|
|
package/lib/commonjs/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export type ByteArray = number[];
|
|
2
1
|
export interface ScanFilter {
|
|
3
2
|
serviceUUIDs?: string[];
|
|
4
3
|
rssiThreshold?: number;
|
|
5
4
|
allowDuplicates?: boolean;
|
|
5
|
+
androidScanMode?: AndroidScanMode;
|
|
6
6
|
}
|
|
7
7
|
export interface ManufacturerDataEntry {
|
|
8
8
|
id: string;
|
|
9
|
-
data:
|
|
9
|
+
data: ArrayBuffer;
|
|
10
10
|
}
|
|
11
11
|
export interface ManufacturerData {
|
|
12
12
|
companyIdentifiers: ManufacturerDataEntry[];
|
|
@@ -23,7 +23,7 @@ export type ScanCallback = (device: BLEDevice) => void;
|
|
|
23
23
|
export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
|
|
24
24
|
export type DisconnectEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
|
|
25
25
|
export type OperationCallback = (success: boolean, error: string) => void;
|
|
26
|
-
export type CharacteristicUpdateCallback = (characteristicId: string, data:
|
|
26
|
+
export type CharacteristicUpdateCallback = (characteristicId: string, data: ArrayBuffer) => void;
|
|
27
27
|
export type Subscription = {
|
|
28
28
|
remove: () => void;
|
|
29
29
|
};
|
|
@@ -35,6 +35,12 @@ export declare enum BLEState {
|
|
|
35
35
|
PoweredOff = "PoweredOff",
|
|
36
36
|
PoweredOn = "PoweredOn"
|
|
37
37
|
}
|
|
38
|
+
export declare enum AndroidScanMode {
|
|
39
|
+
LowLatency = "LowLatency",
|
|
40
|
+
Balanced = "Balanced",
|
|
41
|
+
LowPower = "LowPower",
|
|
42
|
+
Opportunistic = "Opportunistic"
|
|
43
|
+
}
|
|
38
44
|
export declare class BleNitro {
|
|
39
45
|
private _isScanning;
|
|
40
46
|
private _connectedDevices;
|
|
@@ -53,7 +59,7 @@ export declare class BleNitro {
|
|
|
53
59
|
* @param callback Callback function called when a device is found
|
|
54
60
|
* @returns Promise resolving to success state
|
|
55
61
|
*/
|
|
56
|
-
startScan(filter: ScanFilter | undefined, callback: ScanCallback): void;
|
|
62
|
+
startScan(filter: ScanFilter | undefined, callback: ScanCallback, onError?: (error: string) => void): void;
|
|
57
63
|
/**
|
|
58
64
|
* Stop scanning for Bluetooth devices
|
|
59
65
|
* @returns Promise resolving to success state
|
|
@@ -120,19 +126,19 @@ export declare class BleNitro {
|
|
|
120
126
|
* @param deviceId ID of the device
|
|
121
127
|
* @param serviceId ID of the service
|
|
122
128
|
* @param characteristicId ID of the characteristic
|
|
123
|
-
* @returns Promise resolving to the characteristic data as
|
|
129
|
+
* @returns Promise resolving to the characteristic data as ArrayBuffer
|
|
124
130
|
*/
|
|
125
|
-
readCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<
|
|
131
|
+
readCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<ArrayBuffer>;
|
|
126
132
|
/**
|
|
127
133
|
* Write a value to a characteristic
|
|
128
134
|
* @param deviceId ID of the device
|
|
129
135
|
* @param serviceId ID of the service
|
|
130
136
|
* @param characteristicId ID of the characteristic
|
|
131
|
-
* @param data Data to write as
|
|
137
|
+
* @param data Data to write as ArrayBuffer
|
|
132
138
|
* @param withResponse Whether to wait for response
|
|
133
139
|
* @returns Promise resolving when write is complete
|
|
134
140
|
*/
|
|
135
|
-
writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data:
|
|
141
|
+
writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data: ArrayBuffer, withResponse?: boolean): Promise<boolean>;
|
|
136
142
|
/**
|
|
137
143
|
* Subscribe to characteristic notifications
|
|
138
144
|
* @param deviceId ID of the device
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;AACV,MAAM,MAAM,uBAAuB,GAAG,CACpC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;AACV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAC1E,MAAM,MAAM,4BAA4B,GAAG,CACzC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,WAAW,KACd,IAAI,CAAC;AAEV,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;CACxB;AAED,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAChC;AA2BD,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,iBAAiB,CAAuC;WAElD,QAAQ,IAAI,QAAQ;IAOlC;;;;;OAKG;WACW,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAcvC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAI3D;;;;;OAKG;IACI,SAAS,CACd,MAAM,EAAE,UAAU,YAAK,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAChC,IAAI;IAwCP;;;OAGG;IACI,QAAQ,IAAI,IAAI;IASvB;;;OAGG;IACI,UAAU,IAAI,OAAO;IAK5B;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE;IAe5D;;;;;OAKG;IACI,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,uBAAuB,GACrC,OAAO,CAAC,MAAM,CAAC;IA2BlB;;;;OAIG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlD;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI7C;;;;;OAKG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMxD;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB3D;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBvD;;;;;OAKG;IACI,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE;IAYX;;;;;;OAMG;IACI,kBAAkB,CACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,WAAW,CAAC;IAuBvB;;;;;;;;OAQG;IACI,mBAAmB,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,WAAW,EACjB,YAAY,GAAE,OAAc,GAC3B,OAAO,CAAC,OAAO,CAAC;IAyBnB;;;;;;;OAOG;IACI,yBAAyB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,4BAA4B,GACrC,YAAY;IAqCf;;;;;;OAMG;IACI,6BAA6B,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;OAGG;IACI,kBAAkB,IAAI,OAAO;IAIpC;;;OAGG;IACI,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjD;;;;OAIG;IACI,KAAK,IAAI,QAAQ;IAIxB;;;;;;OAMG;IACI,sBAAsB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,EAAE,WAAW,UAAQ,GAAG,YAAY;IAiBrG;;;OAGG;IACI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC;AAGD,eAAO,MAAM,GAAG,UAAsB,CAAC"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ble = exports.BleNitro = exports.BLEState = void 0;
|
|
6
|
+
exports.ble = exports.BleNitro = exports.AndroidScanMode = exports.BLEState = void 0;
|
|
7
7
|
const NativeBleNitro_1 = __importDefault(require("./specs/NativeBleNitro"));
|
|
8
|
+
const NativeBleNitro_2 = require("./specs/NativeBleNitro");
|
|
8
9
|
var BLEState;
|
|
9
10
|
(function (BLEState) {
|
|
10
11
|
BLEState["Unknown"] = "Unknown";
|
|
@@ -15,6 +16,13 @@ var BLEState;
|
|
|
15
16
|
BLEState["PoweredOn"] = "PoweredOn";
|
|
16
17
|
})(BLEState || (exports.BLEState = BLEState = {}));
|
|
17
18
|
;
|
|
19
|
+
var AndroidScanMode;
|
|
20
|
+
(function (AndroidScanMode) {
|
|
21
|
+
AndroidScanMode["LowLatency"] = "LowLatency";
|
|
22
|
+
AndroidScanMode["Balanced"] = "Balanced";
|
|
23
|
+
AndroidScanMode["LowPower"] = "LowPower";
|
|
24
|
+
AndroidScanMode["Opportunistic"] = "Opportunistic";
|
|
25
|
+
})(AndroidScanMode || (exports.AndroidScanMode = AndroidScanMode = {}));
|
|
18
26
|
function mapNativeBLEStateToBLEState(nativeState) {
|
|
19
27
|
const map = {
|
|
20
28
|
0: BLEState.Unknown,
|
|
@@ -26,11 +34,14 @@ function mapNativeBLEStateToBLEState(nativeState) {
|
|
|
26
34
|
};
|
|
27
35
|
return map[nativeState];
|
|
28
36
|
}
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
function mapAndroidScanModeToNativeAndroidScanMode(scanMode) {
|
|
38
|
+
const map = {
|
|
39
|
+
LowLatency: NativeBleNitro_2.AndroidScanMode.LowLatency,
|
|
40
|
+
Balanced: NativeBleNitro_2.AndroidScanMode.Balanced,
|
|
41
|
+
LowPower: NativeBleNitro_2.AndroidScanMode.LowPower,
|
|
42
|
+
Opportunistic: NativeBleNitro_2.AndroidScanMode.Opportunistic,
|
|
43
|
+
};
|
|
44
|
+
return map[scanMode];
|
|
34
45
|
}
|
|
35
46
|
let _instance;
|
|
36
47
|
class BleNitro {
|
|
@@ -70,8 +81,8 @@ class BleNitro {
|
|
|
70
81
|
* @param callback Callback function called when a device is found
|
|
71
82
|
* @returns Promise resolving to success state
|
|
72
83
|
*/
|
|
73
|
-
startScan(filter = {}, callback) {
|
|
74
|
-
var _a, _b;
|
|
84
|
+
startScan(filter = {}, callback, onError) {
|
|
85
|
+
var _a, _b, _c;
|
|
75
86
|
if (this._isScanning) {
|
|
76
87
|
return;
|
|
77
88
|
}
|
|
@@ -80,9 +91,16 @@ class BleNitro {
|
|
|
80
91
|
serviceUUIDs: filter.serviceUUIDs || [],
|
|
81
92
|
rssiThreshold: (_a = filter.rssiThreshold) !== null && _a !== void 0 ? _a : -100,
|
|
82
93
|
allowDuplicates: (_b = filter.allowDuplicates) !== null && _b !== void 0 ? _b : false,
|
|
94
|
+
androidScanMode: mapAndroidScanModeToNativeAndroidScanMode((_c = filter.androidScanMode) !== null && _c !== void 0 ? _c : AndroidScanMode.Balanced),
|
|
83
95
|
};
|
|
84
96
|
// Create callback wrapper
|
|
85
|
-
const scanCallback = (device) => {
|
|
97
|
+
const scanCallback = (device, error) => {
|
|
98
|
+
if (error && !device) {
|
|
99
|
+
this._isScanning = false;
|
|
100
|
+
onError === null || onError === void 0 ? void 0 : onError(error);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
device = device; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
86
104
|
// Convert manufacturer data to Uint8Arrays
|
|
87
105
|
const convertedDevice = {
|
|
88
106
|
...device,
|
|
@@ -90,7 +108,7 @@ class BleNitro {
|
|
|
90
108
|
manufacturerData: {
|
|
91
109
|
companyIdentifiers: device.manufacturerData.companyIdentifiers.map(entry => ({
|
|
92
110
|
id: entry.id,
|
|
93
|
-
data:
|
|
111
|
+
data: entry.data
|
|
94
112
|
}))
|
|
95
113
|
}
|
|
96
114
|
};
|
|
@@ -109,6 +127,7 @@ class BleNitro {
|
|
|
109
127
|
return;
|
|
110
128
|
}
|
|
111
129
|
NativeBleNitro_1.default.stopScan();
|
|
130
|
+
this._isScanning = false;
|
|
112
131
|
}
|
|
113
132
|
/**
|
|
114
133
|
* Check if currently scanning for devices
|
|
@@ -132,7 +151,7 @@ class BleNitro {
|
|
|
132
151
|
manufacturerData: {
|
|
133
152
|
companyIdentifiers: device.manufacturerData.companyIdentifiers.map(entry => ({
|
|
134
153
|
id: entry.id,
|
|
135
|
-
data:
|
|
154
|
+
data: entry.data
|
|
136
155
|
}))
|
|
137
156
|
}
|
|
138
157
|
}));
|
|
@@ -268,7 +287,7 @@ class BleNitro {
|
|
|
268
287
|
* @param deviceId ID of the device
|
|
269
288
|
* @param serviceId ID of the service
|
|
270
289
|
* @param characteristicId ID of the characteristic
|
|
271
|
-
* @returns Promise resolving to the characteristic data as
|
|
290
|
+
* @returns Promise resolving to the characteristic data as ArrayBuffer
|
|
272
291
|
*/
|
|
273
292
|
readCharacteristic(deviceId, serviceId, characteristicId) {
|
|
274
293
|
return new Promise((resolve, reject) => {
|
|
@@ -279,7 +298,7 @@ class BleNitro {
|
|
|
279
298
|
}
|
|
280
299
|
NativeBleNitro_1.default.readCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (success, data, error) => {
|
|
281
300
|
if (success) {
|
|
282
|
-
resolve(
|
|
301
|
+
resolve(data);
|
|
283
302
|
}
|
|
284
303
|
else {
|
|
285
304
|
reject(new Error(error));
|
|
@@ -292,7 +311,7 @@ class BleNitro {
|
|
|
292
311
|
* @param deviceId ID of the device
|
|
293
312
|
* @param serviceId ID of the service
|
|
294
313
|
* @param characteristicId ID of the characteristic
|
|
295
|
-
* @param data Data to write as
|
|
314
|
+
* @param data Data to write as ArrayBuffer
|
|
296
315
|
* @param withResponse Whether to wait for response
|
|
297
316
|
* @returns Promise resolving when write is complete
|
|
298
317
|
*/
|
|
@@ -303,8 +322,7 @@ class BleNitro {
|
|
|
303
322
|
reject(new Error('Device not connected'));
|
|
304
323
|
return;
|
|
305
324
|
}
|
|
306
|
-
|
|
307
|
-
NativeBleNitro_1.default.writeCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), dataAsArrayBuffer, withResponse, (success, error) => {
|
|
325
|
+
NativeBleNitro_1.default.writeCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), data, withResponse, (success, error) => {
|
|
308
326
|
if (success) {
|
|
309
327
|
resolve(true);
|
|
310
328
|
}
|
|
@@ -329,7 +347,7 @@ class BleNitro {
|
|
|
329
347
|
}
|
|
330
348
|
let _success = false;
|
|
331
349
|
NativeBleNitro_1.default.subscribeToCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (charId, data) => {
|
|
332
|
-
callback(charId,
|
|
350
|
+
callback(charId, data);
|
|
333
351
|
}, (success, error) => {
|
|
334
352
|
_success = success;
|
|
335
353
|
if (!success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAoD;AAsDpD,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B,yCAA6B,CAAA;IAC7B,qCAAyB,CAAA;IACzB,mCAAuB,CAAA;AACzB,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAAA,CAAC;AAEF,SAAS,2BAA2B,CAAC,WAA2B;IAC9D,MAAM,GAAG,GAAG;QACV,CAAC,EAAE,QAAQ,CAAC,OAAO;QACnB,CAAC,EAAE,QAAQ,CAAC,SAAS;QACrB,CAAC,EAAE,QAAQ,CAAC,WAAW;QACvB,CAAC,EAAE,QAAQ,CAAC,YAAY;QACxB,CAAC,EAAE,QAAQ,CAAC,UAAU;QACtB,CAAC,EAAE,QAAQ,CAAC,SAAS;KACtB,CAAC;IACF,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAmB;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAe;IAC7C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACrC,CAAC;AAED,IAAI,SAAmB,CAAC;AAExB,MAAa,QAAQ;IAArB;QACU,gBAAW,GAAY,KAAK,CAAC;QAC7B,sBAAiB,GAAoC,EAAE,CAAC;IAgflE,CAAC;IA9eQ,MAAM,CAAC,QAAQ;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAY;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,+BAA+B;QAC/B,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,qBAAqB;QACrB,sCAAsC;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,GAAG,MAAM,8BAA8B,CAAC;IACjD,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,KAAe;QAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,SAAS,CACd,SAAqB,EAAE,EACvB,QAAsB;;QAEtB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAqB;YACrC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;YACvC,aAAa,EAAE,MAAA,MAAM,CAAC,aAAa,mCAAI,CAAC,GAAG;YAC3C,eAAe,EAAE,MAAA,MAAM,CAAC,eAAe,mCAAI,KAAK;SACjD,CAAC;QAEF,0BAA0B;QAC1B,MAAM,YAAY,GAAG,CAAC,MAAuB,EAAE,EAAE;YAC/C,2CAA2C;YAC3C,MAAM,eAAe,GAAc;gBACjC,GAAG,MAAM;gBACT,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC9D,gBAAgB,EAAE;oBAChB,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC3E,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;qBACzC,CAAC,CAAC;iBACJ;aACF,CAAC;YACF,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,aAAa;QACb,wBAAc,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,wBAAc,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,IAAI,CAAC,WAAW,GAAG,wBAAc,CAAC,UAAU,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,QAAmB;QAC5C,MAAM,OAAO,GAAG,wBAAc,CAAC,mBAAmB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACnE,4EAA4E;QAC5E,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,GAAG,MAAM;YACT,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9D,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC3E,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;iBACzC,CAAC,CAAC;aACJ;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,OAAO,CACZ,QAAgB,EAChB,YAAsC;QAEtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,6BAA6B;YAC7B,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,wBAAc,CAAC,OAAO,CACpB,QAAQ,EACR,CAAC,OAAgB,EAAE,iBAAyB,EAAE,KAAa,EAAE,EAAE;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBACxC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,EACD,YAAY,CAAC,CAAC,CAAC,CAAC,QAAgB,EAAE,WAAoB,EAAE,KAAa,EAAE,EAAE;gBACvE,kDAAkD;gBAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACxC,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC,CAAC,SAAS,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,QAAgB;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,gCAAgC;YAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,wBAAc,CAAC,UAAU,CACvB,QAAQ,EACR,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,QAAgB;QACjC,OAAO,wBAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,QAAgB,EAAE,GAAW;QAC7C,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,wBAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,QAAgB;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,wBAAc,CAAC,gBAAgB,CAC7B,QAAQ,EACR,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,QAAgB;QACjC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,wBAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CACvB,QAAgB,EAChB,SAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,eAAe,GAAG,wBAAc,CAAC,kBAAkB,CACvD,QAAQ,EACR,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CACtC,CAAC;QACF,OAAO,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACI,kBAAkB,CACvB,QAAgB,EAChB,SAAiB,EACjB,gBAAwB;QAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,wBAAc,CAAC,kBAAkB,CAC/B,QAAQ,EACR,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC5C,CAAC,OAAgB,EAAE,IAAiB,EAAE,KAAa,EAAE,EAAE;gBACrD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,mBAAmB,CACxB,QAAgB,EAChB,SAAiB,EACjB,gBAAwB,EACxB,IAAe,EACf,eAAwB,IAAI;QAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEvD,wBAAc,CAAC,mBAAmB,CAChC,QAAQ,EACR,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC5C,iBAAiB,EACjB,YAAY,EACZ,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,yBAAyB,CAC9B,QAAgB,EAChB,SAAiB,EACjB,gBAAwB,EACxB,QAAsC;QAEtC,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,wBAAc,CAAC,yBAAyB,CACtC,QAAQ,EACR,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC5C,CAAC,MAAc,EAAE,IAAiB,EAAE,EAAE;YACpC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACjB,QAAQ,GAAG,OAAO,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,6BAA6B,CAChC,QAAQ,EACR,SAAS,EACT,gBAAgB,CACjB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,6BAA6B,CAClC,QAAgB,EAChB,SAAiB,EACjB,gBAAwB;QAExB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,2BAA2B;YAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,wBAAc,CAAC,6BAA6B,CAC1C,QAAQ,EACR,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACrC,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC5C,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,sBAAsB;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,wBAAc,CAAC,sBAAsB,CACnC,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK;QACV,OAAO,2BAA2B,CAAC,wBAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACI,sBAAsB,CAAC,QAAmC,EAAE,WAAW,GAAG,KAAK;QAClF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,wBAAc,CAAC,sBAAsB,CAAC,CAAC,WAA2B,EAAE,EAAE;YACpE,QAAQ,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,GAAG,EAAE;gBACX,wBAAc,CAAC,0BAA0B,EAAE,CAAC;YAC9C,CAAC;SACF,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,YAAY;QACjB,OAAO,wBAAc,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;CACF;AAlfD,4BAkfC;AAED,qBAAqB;AACR,QAAA,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,19 @@ export interface BLEDevice {
|
|
|
23
23
|
serviceUUIDs: string[];
|
|
24
24
|
isConnectable: boolean;
|
|
25
25
|
}
|
|
26
|
+
export declare enum AndroidScanMode {
|
|
27
|
+
LowLatency = 0,
|
|
28
|
+
Balanced = 1,
|
|
29
|
+
LowPower = 2,
|
|
30
|
+
Opportunistic = 3
|
|
31
|
+
}
|
|
26
32
|
export interface ScanFilter {
|
|
27
33
|
serviceUUIDs: string[];
|
|
28
34
|
rssiThreshold: number;
|
|
29
35
|
allowDuplicates: boolean;
|
|
36
|
+
androidScanMode: AndroidScanMode;
|
|
30
37
|
}
|
|
31
|
-
export type ScanCallback = (device: BLEDevice) => void;
|
|
38
|
+
export type ScanCallback = (device: BLEDevice | null, error: string | null) => void;
|
|
32
39
|
export type DevicesCallback = (devices: BLEDevice[]) => void;
|
|
33
40
|
export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
|
|
34
41
|
export type DisconnectionEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeBleNitro.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/NativeBleNitro.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC;AAGnC,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,SAAS,IAAI;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeBleNitro.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/NativeBleNitro.nitro.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BLEState = void 0;
|
|
3
|
+
exports.AndroidScanMode = exports.BLEState = void 0;
|
|
4
4
|
// Nitro constraint: Use numeric enums instead of string unions
|
|
5
5
|
var BLEState;
|
|
6
6
|
(function (BLEState) {
|
|
@@ -11,4 +11,11 @@ var BLEState;
|
|
|
11
11
|
BLEState[BLEState["PoweredOff"] = 4] = "PoweredOff";
|
|
12
12
|
BLEState[BLEState["PoweredOn"] = 5] = "PoweredOn";
|
|
13
13
|
})(BLEState || (exports.BLEState = BLEState = {}));
|
|
14
|
+
var AndroidScanMode;
|
|
15
|
+
(function (AndroidScanMode) {
|
|
16
|
+
AndroidScanMode[AndroidScanMode["LowLatency"] = 0] = "LowLatency";
|
|
17
|
+
AndroidScanMode[AndroidScanMode["Balanced"] = 1] = "Balanced";
|
|
18
|
+
AndroidScanMode[AndroidScanMode["LowPower"] = 2] = "LowPower";
|
|
19
|
+
AndroidScanMode[AndroidScanMode["Opportunistic"] = 3] = "Opportunistic";
|
|
20
|
+
})(AndroidScanMode || (exports.AndroidScanMode = AndroidScanMode = {}));
|
|
14
21
|
//# sourceMappingURL=NativeBleNitro.nitro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeBleNitro.nitro.js","sourceRoot":"","sources":["../../../src/specs/NativeBleNitro.nitro.ts"],"names":[],"mappings":";;;AAKA,+DAA+D;AAC/D,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,iDAAa,CAAA;IACb,qDAAe,CAAA;IACf,uDAAgB,CAAA;IAChB,mDAAc,CAAA;IACd,iDAAa,CAAA;AACf,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB"}
|
|
1
|
+
{"version":3,"file":"NativeBleNitro.nitro.js","sourceRoot":"","sources":["../../../src/specs/NativeBleNitro.nitro.ts"],"names":[],"mappings":";;;AAKA,+DAA+D;AAC/D,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,iDAAa,CAAA;IACb,qDAAe,CAAA;IACf,uDAAgB,CAAA;IAChB,mDAAc,CAAA;IACd,iDAAa,CAAA;AACf,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAoBD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,iEAAc,CAAA;IACd,6DAAY,CAAA;IACZ,6DAAY,CAAA;IACZ,uEAAiB,CAAA;AACnB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export type ByteArray = number[];
|
|
2
1
|
export interface ScanFilter {
|
|
3
2
|
serviceUUIDs?: string[];
|
|
4
3
|
rssiThreshold?: number;
|
|
5
4
|
allowDuplicates?: boolean;
|
|
5
|
+
androidScanMode?: AndroidScanMode;
|
|
6
6
|
}
|
|
7
7
|
export interface ManufacturerDataEntry {
|
|
8
8
|
id: string;
|
|
9
|
-
data:
|
|
9
|
+
data: ArrayBuffer;
|
|
10
10
|
}
|
|
11
11
|
export interface ManufacturerData {
|
|
12
12
|
companyIdentifiers: ManufacturerDataEntry[];
|
|
@@ -23,7 +23,7 @@ export type ScanCallback = (device: BLEDevice) => void;
|
|
|
23
23
|
export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
|
|
24
24
|
export type DisconnectEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
|
|
25
25
|
export type OperationCallback = (success: boolean, error: string) => void;
|
|
26
|
-
export type CharacteristicUpdateCallback = (characteristicId: string, data:
|
|
26
|
+
export type CharacteristicUpdateCallback = (characteristicId: string, data: ArrayBuffer) => void;
|
|
27
27
|
export type Subscription = {
|
|
28
28
|
remove: () => void;
|
|
29
29
|
};
|
|
@@ -35,6 +35,12 @@ export declare enum BLEState {
|
|
|
35
35
|
PoweredOff = "PoweredOff",
|
|
36
36
|
PoweredOn = "PoweredOn"
|
|
37
37
|
}
|
|
38
|
+
export declare enum AndroidScanMode {
|
|
39
|
+
LowLatency = "LowLatency",
|
|
40
|
+
Balanced = "Balanced",
|
|
41
|
+
LowPower = "LowPower",
|
|
42
|
+
Opportunistic = "Opportunistic"
|
|
43
|
+
}
|
|
38
44
|
export declare class BleNitro {
|
|
39
45
|
private _isScanning;
|
|
40
46
|
private _connectedDevices;
|
|
@@ -53,7 +59,7 @@ export declare class BleNitro {
|
|
|
53
59
|
* @param callback Callback function called when a device is found
|
|
54
60
|
* @returns Promise resolving to success state
|
|
55
61
|
*/
|
|
56
|
-
startScan(filter: ScanFilter | undefined, callback: ScanCallback): void;
|
|
62
|
+
startScan(filter: ScanFilter | undefined, callback: ScanCallback, onError?: (error: string) => void): void;
|
|
57
63
|
/**
|
|
58
64
|
* Stop scanning for Bluetooth devices
|
|
59
65
|
* @returns Promise resolving to success state
|
|
@@ -120,19 +126,19 @@ export declare class BleNitro {
|
|
|
120
126
|
* @param deviceId ID of the device
|
|
121
127
|
* @param serviceId ID of the service
|
|
122
128
|
* @param characteristicId ID of the characteristic
|
|
123
|
-
* @returns Promise resolving to the characteristic data as
|
|
129
|
+
* @returns Promise resolving to the characteristic data as ArrayBuffer
|
|
124
130
|
*/
|
|
125
|
-
readCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<
|
|
131
|
+
readCharacteristic(deviceId: string, serviceId: string, characteristicId: string): Promise<ArrayBuffer>;
|
|
126
132
|
/**
|
|
127
133
|
* Write a value to a characteristic
|
|
128
134
|
* @param deviceId ID of the device
|
|
129
135
|
* @param serviceId ID of the service
|
|
130
136
|
* @param characteristicId ID of the characteristic
|
|
131
|
-
* @param data Data to write as
|
|
137
|
+
* @param data Data to write as ArrayBuffer
|
|
132
138
|
* @param withResponse Whether to wait for response
|
|
133
139
|
* @returns Promise resolving when write is complete
|
|
134
140
|
*/
|
|
135
|
-
writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data:
|
|
141
|
+
writeCharacteristic(deviceId: string, serviceId: string, characteristicId: string, data: ArrayBuffer, withResponse?: boolean): Promise<boolean>;
|
|
136
142
|
/**
|
|
137
143
|
* Subscribe to characteristic notifications
|
|
138
144
|
* @param deviceId ID of the device
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import BleNitroNative from './specs/NativeBleNitro';
|
|
2
|
+
import { AndroidScanMode as NativeAndroidScanMode, } from './specs/NativeBleNitro';
|
|
2
3
|
export var BLEState;
|
|
3
4
|
(function (BLEState) {
|
|
4
5
|
BLEState["Unknown"] = "Unknown";
|
|
@@ -9,6 +10,13 @@ export var BLEState;
|
|
|
9
10
|
BLEState["PoweredOn"] = "PoweredOn";
|
|
10
11
|
})(BLEState || (BLEState = {}));
|
|
11
12
|
;
|
|
13
|
+
export var AndroidScanMode;
|
|
14
|
+
(function (AndroidScanMode) {
|
|
15
|
+
AndroidScanMode["LowLatency"] = "LowLatency";
|
|
16
|
+
AndroidScanMode["Balanced"] = "Balanced";
|
|
17
|
+
AndroidScanMode["LowPower"] = "LowPower";
|
|
18
|
+
AndroidScanMode["Opportunistic"] = "Opportunistic";
|
|
19
|
+
})(AndroidScanMode || (AndroidScanMode = {}));
|
|
12
20
|
function mapNativeBLEStateToBLEState(nativeState) {
|
|
13
21
|
const map = {
|
|
14
22
|
0: BLEState.Unknown,
|
|
@@ -20,11 +28,14 @@ function mapNativeBLEStateToBLEState(nativeState) {
|
|
|
20
28
|
};
|
|
21
29
|
return map[nativeState];
|
|
22
30
|
}
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
function mapAndroidScanModeToNativeAndroidScanMode(scanMode) {
|
|
32
|
+
const map = {
|
|
33
|
+
LowLatency: NativeAndroidScanMode.LowLatency,
|
|
34
|
+
Balanced: NativeAndroidScanMode.Balanced,
|
|
35
|
+
LowPower: NativeAndroidScanMode.LowPower,
|
|
36
|
+
Opportunistic: NativeAndroidScanMode.Opportunistic,
|
|
37
|
+
};
|
|
38
|
+
return map[scanMode];
|
|
28
39
|
}
|
|
29
40
|
let _instance;
|
|
30
41
|
export class BleNitro {
|
|
@@ -64,7 +75,7 @@ export class BleNitro {
|
|
|
64
75
|
* @param callback Callback function called when a device is found
|
|
65
76
|
* @returns Promise resolving to success state
|
|
66
77
|
*/
|
|
67
|
-
startScan(filter = {}, callback) {
|
|
78
|
+
startScan(filter = {}, callback, onError) {
|
|
68
79
|
if (this._isScanning) {
|
|
69
80
|
return;
|
|
70
81
|
}
|
|
@@ -73,9 +84,16 @@ export class BleNitro {
|
|
|
73
84
|
serviceUUIDs: filter.serviceUUIDs || [],
|
|
74
85
|
rssiThreshold: filter.rssiThreshold ?? -100,
|
|
75
86
|
allowDuplicates: filter.allowDuplicates ?? false,
|
|
87
|
+
androidScanMode: mapAndroidScanModeToNativeAndroidScanMode(filter.androidScanMode ?? AndroidScanMode.Balanced),
|
|
76
88
|
};
|
|
77
89
|
// Create callback wrapper
|
|
78
|
-
const scanCallback = (device) => {
|
|
90
|
+
const scanCallback = (device, error) => {
|
|
91
|
+
if (error && !device) {
|
|
92
|
+
this._isScanning = false;
|
|
93
|
+
onError?.(error);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
device = device; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
79
97
|
// Convert manufacturer data to Uint8Arrays
|
|
80
98
|
const convertedDevice = {
|
|
81
99
|
...device,
|
|
@@ -83,7 +101,7 @@ export class BleNitro {
|
|
|
83
101
|
manufacturerData: {
|
|
84
102
|
companyIdentifiers: device.manufacturerData.companyIdentifiers.map(entry => ({
|
|
85
103
|
id: entry.id,
|
|
86
|
-
data:
|
|
104
|
+
data: entry.data
|
|
87
105
|
}))
|
|
88
106
|
}
|
|
89
107
|
};
|
|
@@ -102,6 +120,7 @@ export class BleNitro {
|
|
|
102
120
|
return;
|
|
103
121
|
}
|
|
104
122
|
BleNitroNative.stopScan();
|
|
123
|
+
this._isScanning = false;
|
|
105
124
|
}
|
|
106
125
|
/**
|
|
107
126
|
* Check if currently scanning for devices
|
|
@@ -125,7 +144,7 @@ export class BleNitro {
|
|
|
125
144
|
manufacturerData: {
|
|
126
145
|
companyIdentifiers: device.manufacturerData.companyIdentifiers.map(entry => ({
|
|
127
146
|
id: entry.id,
|
|
128
|
-
data:
|
|
147
|
+
data: entry.data
|
|
129
148
|
}))
|
|
130
149
|
}
|
|
131
150
|
}));
|
|
@@ -261,7 +280,7 @@ export class BleNitro {
|
|
|
261
280
|
* @param deviceId ID of the device
|
|
262
281
|
* @param serviceId ID of the service
|
|
263
282
|
* @param characteristicId ID of the characteristic
|
|
264
|
-
* @returns Promise resolving to the characteristic data as
|
|
283
|
+
* @returns Promise resolving to the characteristic data as ArrayBuffer
|
|
265
284
|
*/
|
|
266
285
|
readCharacteristic(deviceId, serviceId, characteristicId) {
|
|
267
286
|
return new Promise((resolve, reject) => {
|
|
@@ -272,7 +291,7 @@ export class BleNitro {
|
|
|
272
291
|
}
|
|
273
292
|
BleNitroNative.readCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (success, data, error) => {
|
|
274
293
|
if (success) {
|
|
275
|
-
resolve(
|
|
294
|
+
resolve(data);
|
|
276
295
|
}
|
|
277
296
|
else {
|
|
278
297
|
reject(new Error(error));
|
|
@@ -285,7 +304,7 @@ export class BleNitro {
|
|
|
285
304
|
* @param deviceId ID of the device
|
|
286
305
|
* @param serviceId ID of the service
|
|
287
306
|
* @param characteristicId ID of the characteristic
|
|
288
|
-
* @param data Data to write as
|
|
307
|
+
* @param data Data to write as ArrayBuffer
|
|
289
308
|
* @param withResponse Whether to wait for response
|
|
290
309
|
* @returns Promise resolving when write is complete
|
|
291
310
|
*/
|
|
@@ -296,8 +315,7 @@ export class BleNitro {
|
|
|
296
315
|
reject(new Error('Device not connected'));
|
|
297
316
|
return;
|
|
298
317
|
}
|
|
299
|
-
|
|
300
|
-
BleNitroNative.writeCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), dataAsArrayBuffer, withResponse, (success, error) => {
|
|
318
|
+
BleNitroNative.writeCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), data, withResponse, (success, error) => {
|
|
301
319
|
if (success) {
|
|
302
320
|
resolve(true);
|
|
303
321
|
}
|
|
@@ -322,7 +340,7 @@ export class BleNitro {
|
|
|
322
340
|
}
|
|
323
341
|
let _success = false;
|
|
324
342
|
BleNitroNative.subscribeToCharacteristic(deviceId, BleNitro.normalizeGattUUID(serviceId), BleNitro.normalizeGattUUID(characteristicId), (charId, data) => {
|
|
325
|
-
callback(charId,
|
|
343
|
+
callback(charId, data);
|
|
326
344
|
}, (success, error) => {
|
|
327
345
|
_success = success;
|
|
328
346
|
if (!success) {
|
|
@@ -23,12 +23,19 @@ export interface BLEDevice {
|
|
|
23
23
|
serviceUUIDs: string[];
|
|
24
24
|
isConnectable: boolean;
|
|
25
25
|
}
|
|
26
|
+
export declare enum AndroidScanMode {
|
|
27
|
+
LowLatency = 0,
|
|
28
|
+
Balanced = 1,
|
|
29
|
+
LowPower = 2,
|
|
30
|
+
Opportunistic = 3
|
|
31
|
+
}
|
|
26
32
|
export interface ScanFilter {
|
|
27
33
|
serviceUUIDs: string[];
|
|
28
34
|
rssiThreshold: number;
|
|
29
35
|
allowDuplicates: boolean;
|
|
36
|
+
androidScanMode: AndroidScanMode;
|
|
30
37
|
}
|
|
31
|
-
export type ScanCallback = (device: BLEDevice) => void;
|
|
38
|
+
export type ScanCallback = (device: BLEDevice | null, error: string | null) => void;
|
|
32
39
|
export type DevicesCallback = (devices: BLEDevice[]) => void;
|
|
33
40
|
export type ConnectionCallback = (success: boolean, deviceId: string, error: string) => void;
|
|
34
41
|
export type DisconnectionEventCallback = (deviceId: string, interrupted: boolean, error: string) => void;
|
|
@@ -8,3 +8,10 @@ export var BLEState;
|
|
|
8
8
|
BLEState[BLEState["PoweredOff"] = 4] = "PoweredOff";
|
|
9
9
|
BLEState[BLEState["PoweredOn"] = 5] = "PoweredOn";
|
|
10
10
|
})(BLEState || (BLEState = {}));
|
|
11
|
+
export var AndroidScanMode;
|
|
12
|
+
(function (AndroidScanMode) {
|
|
13
|
+
AndroidScanMode[AndroidScanMode["LowLatency"] = 0] = "LowLatency";
|
|
14
|
+
AndroidScanMode[AndroidScanMode["Balanced"] = 1] = "Balanced";
|
|
15
|
+
AndroidScanMode[AndroidScanMode["LowPower"] = 2] = "LowPower";
|
|
16
|
+
AndroidScanMode[AndroidScanMode["Opportunistic"] = 3] = "Opportunistic";
|
|
17
|
+
})(AndroidScanMode || (AndroidScanMode = {}));
|