react-native-gizwits-sdk-v5 2.0.2-beta → 2.1.1-beta

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 CHANGED
@@ -32,6 +32,39 @@ await device.mqttCapability.connect()
32
32
  device.mqttCapability.getDp()
33
33
  ```
34
34
 
35
+ ## BLE Wi-Fi 列表和时间同步(2.1.0-beta)
36
+
37
+ Android / iOS / HarmonyOS 可以从设备的 BLE 能力获取附近 Wi-Fi,或用手机当前时间独立校准设备时间:
38
+
39
+ ```typescript
40
+ const networks = await device.bleCapability.getWiFiList(30)
41
+ // 成功数据为 GizWiFiNetwork[]:{ ssid: string, signalStrength: number }
42
+ // signalStrength 是有符号的 dBm,SSID 可以重复,列表也可以为空。
43
+
44
+ const result = await device.bleCapability.syncTime(30)
45
+
46
+ // 取消对应设备的当前请求
47
+ await device.bleCapability.cancelGetWiFiList()
48
+ await device.bleCapability.cancelSyncTime()
49
+ ```
50
+
51
+ 四个接口均返回 `Promise<GizResult<...>>`,沿用 SDK 的成功和失败结果格式。
52
+ 超时参数单位为秒,默认 30,范围为大于 0 且不超过 3600,可传小数。
53
+ 同一设备同类操作同时只允许一个请求;取消会让原请求以
54
+ `E_BLE_REQUEST_CANCELLED` 结束;请求按设备与操作分别管理。
55
+
56
+ 需要设备固件支持对应协议:Wi-Fi 列表支持 V2 / V5;独立时间同步支持 V5,
57
+ V2 需要固件支持离线时间同步扩展。V5 时间同步成功表示数据已通过 GATT 写入,
58
+ 协议没有额外的设备确认响应。安全通道由原生 SDK 按设备能力自动协商,
59
+ 业务层无需显式启用 ECDH/AES-GCM。历史配网日志主动拉取已废弃,不提供接口。
60
+
61
+ HarmonyOS 同一设备的 Wi-Fi 列表和时间同步共用 BLE 会话,需要依次调用;
62
+ 请求尚未完成时启动另一操作会返回 `E_BLE_REQUEST_BUSY`。
63
+ 设备的 `bleCapability.profile.support5GConfig`(别名 `supports5GConfig`)和
64
+ `supportsSecureChannel` 表示其广播中的能力,实际使用仍需固件支持。
65
+ 本版本依赖 Android SDK `1.4.14`、iOS SDK `~> 2.1.9`。
66
+ HarmonyOS HAR 内置本地构建的四个 SDK 模块,无需先将原生 SDK 发布到 OHPM。
67
+
35
68
  ## 连接的云服务
36
69
 
37
70
  初始化 sdk 的时候,您可以手动选择连接的云
@@ -97,6 +130,7 @@ import RNGizSDKManagerModule, {
97
130
  | Wi-Fi 配网及停止配网 | BLE V2/V5 | 支持 | 不支持 |
98
131
  | 启动 OTA 升级 | 支持 | 不支持 | 不支持 |
99
132
  | 取消 OTA 升级 | 支持 | 不支持 | 不支持 |
133
+ | Wi-Fi 列表、独立时间同步及取消 | BLE V2/V5 | 不支持 | 不支持 |
100
134
 
101
135
  ### HarmonyOS 权限
102
136
 
@@ -116,6 +150,17 @@ import RNGizSDKManagerModule, {
116
150
 
117
151
  ## 更新日志
118
152
 
153
+ ### 2.1.1-beta
154
+
155
+ - HarmonyOS 接入 Wi-Fi 列表、独立时间同步和对应取消接口,补齐 5 GHz 与安全通道能力标记。
156
+ - 内置四个本地原生 SDK HAR,不依赖尚未发布的 OHPM 版本;补充超时、取消和桥接销毁测试。
157
+
158
+ ### 2.1.0-beta
159
+
160
+ - 增加 BLE Wi-Fi 列表、独立时间同步及对应取消接口;补齐 TypeScript 类型和设备事件对象上的方法。
161
+ - Android SDK 升级至 1.4.14,iOS SDK 升级至 2.1.9;修复 Android 发布包 Kotlin 顶层扩展索引缺失问题。
162
+ - Android/iOS 支持新增接口;HarmonyOS 支持在 2.1.1-beta 补齐。
163
+
119
164
  ### 2.0.0-beta
120
165
 
121
166
  新增 HarmonyOS/RNOH 支持
@@ -67,10 +67,10 @@ dependencies {
67
67
  // ESPTouch
68
68
  implementation 'com.github.EspressifApp:lib-esptouch-android:1.1.1'
69
69
 
70
- implementation("io.github.gizwits:sdk:1.4.12")
71
- implementation("io.github.gizwits:sdk-bluetooth:1.4.12")
72
- implementation("io.github.gizwits:sdk-lan:1.4.12")
73
- implementation("io.github.gizwits:sdk-mqtt:1.4.12")
70
+ implementation("io.github.gizwits:sdk:1.4.14")
71
+ implementation("io.github.gizwits:sdk-bluetooth:1.4.14")
72
+ implementation("io.github.gizwits:sdk-lan:1.4.14")
73
+ implementation("io.github.gizwits:sdk-mqtt:1.4.14")
74
74
  // implementation files('libs/sdk-release.aar', 'libs/sdk-bluetooth-release.aar', 'libs/sdk-lan-release.aar', 'libs/sdk-mqtt-release.aar')
75
75
  implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutine_version")
76
76
  // retrofit
@@ -83,6 +83,5 @@ dependencies {
83
83
  implementation "io.ktor:ktor-network:$ktor_network_version"
84
84
 
85
85
  testImplementation 'junit:junit:4.13.2'
86
- testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlin_coroutine_version"
87
86
 
88
87
  }
@@ -0,0 +1,53 @@
1
+ package com.gizwits.reactnativegizwitssdkv5
2
+
3
+ import kotlinx.coroutines.CoroutineScope
4
+ import kotlinx.coroutines.CoroutineStart
5
+ import kotlinx.coroutines.Job
6
+ import kotlinx.coroutines.launch
7
+
8
+ internal class BleRequestException(val code: String, message: String) : Exception(message)
9
+
10
+ /** Owns only requests started by this RN module. Callbacks settle once, outside the lock. */
11
+ internal class BleRequestRegistry(private val scope: CoroutineScope) {
12
+ private class Request(val complete: (Result<Any?>) -> Unit) { var job: Job? = null }
13
+ private val lock = Any()
14
+ private val requests = mutableMapOf<String, Request>()
15
+ private var closed = false
16
+
17
+ fun start(key: String, complete: (Result<Any?>) -> Unit, operation: suspend () -> Result<Any?>) {
18
+ val request = Request(complete)
19
+ val rejection = synchronized(lock) {
20
+ when {
21
+ closed -> BleRequestException("E_NATIVE_MODULE_UNAVAILABLE", "BLE bridge is closed")
22
+ requests.containsKey(key) -> BleRequestException("E_BLE_REQUEST_BUSY", "A request is already pending for this device and operation")
23
+ else -> { requests[key] = request; null }
24
+ }
25
+ }
26
+ if (rejection != null) { complete(Result.failure(rejection)); return }
27
+ val job = scope.launch(start = CoroutineStart.LAZY) {
28
+ val response = try { operation() } catch (error: Exception) { Result.failure(error) }
29
+ val owned = synchronized(lock) {
30
+ if (requests[key] === request) { requests.remove(key); true } else false
31
+ }
32
+ if (owned) complete(response)
33
+ }
34
+ val owned = synchronized(lock) {
35
+ if (requests[key] === request) { request.job = job; true } else false
36
+ }
37
+ if (owned) job.start() else job.cancel()
38
+ }
39
+
40
+ fun cancel(key: String) {
41
+ val request = synchronized(lock) { requests.remove(key) } ?: return
42
+ request.job?.cancel()
43
+ request.complete(Result.failure(BleRequestException("E_BLE_REQUEST_CANCELLED", "BLE request cancelled")))
44
+ }
45
+
46
+ fun close() {
47
+ val pending = synchronized(lock) {
48
+ closed = true
49
+ requests.values.toList().also { requests.clear() }
50
+ }
51
+ pending.forEach { it.job?.cancel() }
52
+ }
53
+ }
@@ -1,6 +1,8 @@
1
1
  package com.gizwits.reactnativegizwitssdkv5
2
2
 
3
+ import com.facebook.react.bridge.Arguments
3
4
  import com.facebook.react.bridge.Callback
5
+ import com.facebook.react.bridge.ReadableType
4
6
  import com.facebook.react.bridge.ReactApplicationContext
5
7
  import com.facebook.react.bridge.ReactContextBaseJavaModule
6
8
  import com.facebook.react.bridge.ReactMethod
@@ -170,6 +172,7 @@ data class StopUpgradeParams(
170
172
  class RNGizDeviceManagerModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
171
173
  private val moduleScope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
172
174
  private var provideWiFiCredentialsJob: Job? = null
175
+ private val bleRequests = BleRequestRegistry(moduleScope)
173
176
 
174
177
  enum class EventName(val value: String) {
175
178
  GizOTAProgressEvent("GizOTAProgressEvent"),
@@ -201,9 +204,77 @@ class RNGizDeviceManagerModule(reactContext: ReactApplicationContext) : ReactCon
201
204
 
202
205
  override fun onCatalystInstanceDestroy() {
203
206
  super.onCatalystInstanceDestroy()
207
+ bleRequests.close()
204
208
  moduleScope.cancel() // 取消所有协程
205
209
  }
206
210
 
211
+ private fun bleResult(callback: Callback, response: Result<Any?>) {
212
+ val error = response.exceptionOrNull()
213
+ if (error == null || error is GizException) {
214
+ GizRNCallbackManager.callbackWithResult(callback, response)
215
+ } else {
216
+ val data = Arguments.createMap().apply {
217
+ putBoolean("success", false)
218
+ putString("error", (error as? BleRequestException)?.code ?: "E_BLE_REQUEST_FAILED")
219
+ putString("message", error.message ?: "BLE request failed")
220
+ }
221
+ callback.invoke(data, null)
222
+ }
223
+ }
224
+
225
+ private fun bleOptions(options: ReadableMap, result: Callback, timed: Boolean): Pair<String, Long>? {
226
+ if (!options.hasKey("id") || options.isNull("id") || options.getType("id") != ReadableType.String || options.getString("id").isNullOrBlank()) {
227
+ bleResult(result, Result.failure(BleRequestException("E_BLE_INVALID_PARAMS", "A device id is required")))
228
+ return null
229
+ }
230
+ var seconds = 30.0
231
+ if (timed && options.hasKey("timeoutSeconds")) {
232
+ if (options.isNull("timeoutSeconds") || options.getType("timeoutSeconds") != ReadableType.Number) {
233
+ bleResult(result, Result.failure(BleRequestException("E_BLE_INVALID_TIMEOUT", "timeoutSeconds must be a number")))
234
+ return null
235
+ }
236
+ seconds = options.getDouble("timeoutSeconds")
237
+ }
238
+ if (!seconds.isFinite() || seconds <= 0 || seconds > 3600) {
239
+ bleResult(result, Result.failure(BleRequestException("E_BLE_INVALID_TIMEOUT", "timeoutSeconds must be greater than 0 and at most 3600")))
240
+ return null
241
+ }
242
+ return options.getString("id")!! to kotlin.math.ceil(seconds * 1000).toLong()
243
+ }
244
+
245
+ private fun startBleRequest(options: ReadableMap, result: Callback, operation: String) {
246
+ val (id, timeoutMillis) = bleOptions(options, result, true) ?: return
247
+ val device = GizSDKManager.getRegisteredDevice(id)
248
+ if (device == null) {
249
+ bleResult(result, Result.failure(GizException.GIZ_OPENAPI_DEVICE_NOT_FOUND))
250
+ return
251
+ }
252
+ bleRequests.start("$operation:$id", { bleResult(result, it) }) {
253
+ when (operation) {
254
+ "wifi" -> device.bleCapability.getWiFiList(timeoutMillis)
255
+ else -> device.bleCapability.syncTime(timeoutMillis).map { null }
256
+ }
257
+ }
258
+ }
259
+
260
+ private fun cancelBleRequest(options: ReadableMap, result: Callback, operation: String) {
261
+ val (id, _) = bleOptions(options, result, false) ?: return
262
+ bleRequests.cancel("$operation:$id")
263
+ bleResult(result, Result.success(null))
264
+ }
265
+
266
+ @ReactMethod
267
+ fun getWiFiList(options: ReadableMap, result: Callback) = startBleRequest(options, result, "wifi")
268
+
269
+ @ReactMethod
270
+ fun cancelGetWiFiList(options: ReadableMap, result: Callback) = cancelBleRequest(options, result, "wifi")
271
+
272
+ @ReactMethod
273
+ fun syncTime(options: ReadableMap, result: Callback) = startBleRequest(options, result, "time")
274
+
275
+ @ReactMethod
276
+ fun cancelSyncTime(options: ReadableMap, result: Callback) = cancelBleRequest(options, result, "time")
277
+
207
278
  @ReactMethod
208
279
  fun sendDp(options: ReadableMap, result: Callback) {
209
280
  val (config, device) = RNGizParamsChecker.checkDeviceAndParams(options, result, GizSendDPParams::class.java)
@@ -0,0 +1,68 @@
1
+ package com.gizwits.reactnativegizwitssdkv5
2
+
3
+ import kotlinx.coroutines.CompletableDeferred
4
+ import kotlinx.coroutines.CoroutineScope
5
+ import kotlinx.coroutines.Dispatchers
6
+ import kotlinx.coroutines.SupervisorJob
7
+ import kotlinx.coroutines.withContext
8
+ import kotlinx.coroutines.NonCancellable
9
+ import org.junit.Assert.*
10
+ import org.junit.Test
11
+
12
+ class BleRequestRegistryTest {
13
+ private fun registry() = BleRequestRegistry(CoroutineScope(SupervisorJob() + Dispatchers.Unconfined))
14
+
15
+ @Test fun duplicateRequestsAreRejectedAndDevicesAndOperationsAreIndependent() {
16
+ val registry = registry()
17
+ val wait = CompletableDeferred<Unit>()
18
+ val results = mutableListOf<Result<Any?>>()
19
+ registry.start("wifi:a", { results.add(it) }) { wait.await(); Result.success(emptyList<String>()) }
20
+ registry.start("wifi:a", { results.add(it) }) { fail("Duplicate executed"); Result.success(null) }
21
+ registry.start("wifi:b", { results.add(it) }) { Result.success("b") }
22
+ registry.start("time:a", { results.add(it) }) { Result.success("time") }
23
+ assertEquals("E_BLE_REQUEST_BUSY", (results[0].exceptionOrNull() as BleRequestException).code)
24
+ assertEquals(listOf("b", "time"), results.drop(1).map { it.getOrNull() })
25
+ wait.complete(Unit)
26
+ assertEquals(emptyList<String>(), results.last().getOrNull())
27
+ registry.close()
28
+ }
29
+
30
+ @Test fun cancelledLateResponseCannotCompleteAReplacementRequest() {
31
+ val registry = registry()
32
+ val old = CompletableDeferred<Unit>(); val next = CompletableDeferred<Unit>()
33
+ val results = mutableListOf<Result<Any?>>()
34
+ registry.start("wifi:a", { results.add(it) }) {
35
+ withContext(NonCancellable) { old.await() }
36
+ Result.success("stale")
37
+ }
38
+ registry.cancel("wifi:a")
39
+ registry.start("wifi:a", { results.add(it) }) { next.await(); Result.success("new") }
40
+ old.complete(Unit)
41
+ assertEquals(1, results.size)
42
+ assertEquals("E_BLE_REQUEST_CANCELLED", (results.single().exceptionOrNull() as BleRequestException).code)
43
+ next.complete(Unit)
44
+ assertEquals(2, results.size)
45
+ assertEquals("new", results.last().getOrNull())
46
+ registry.cancel("wifi:a")
47
+ assertEquals(2, results.size)
48
+ registry.close()
49
+ }
50
+
51
+ @Test fun exceptionsSettleAndAllowRetry() {
52
+ val registry = registry(); val results = mutableListOf<Result<Any?>>()
53
+ registry.start("time:a", { results.add(it) }) { throw IllegalStateException("failed") }
54
+ registry.start("time:a", { results.add(it) }) { Result.success(null) }
55
+ assertTrue(results[0].isFailure); assertTrue(results[1].isSuccess)
56
+ registry.close()
57
+ }
58
+
59
+ @Test fun closingCancelsPendingRequestsWithoutCallingADeadBridge() {
60
+ val registry = registry(); var replies = 0
61
+ val wait = CompletableDeferred<Unit>()
62
+ registry.start("time:a", { replies++ }) { withContext(NonCancellable) { wait.await() }; Result.success(null) }
63
+ registry.close(); wait.complete(Unit)
64
+ assertEquals(0, replies)
65
+ registry.start("wifi:a", { assertTrue(it.isFailure); replies++ }) { fail("Closed bridge executed"); Result.success(null) }
66
+ assertEquals(1, replies)
67
+ }
68
+ }
@@ -0,0 +1,70 @@
1
+ import Foundation
2
+
3
+ final class BleRequestRegistry {
4
+ typealias Reply = ([String: Any]) -> Void
5
+ private final class Request {
6
+ let reply: Reply
7
+ var task: Task<Void, Never>?
8
+ init(reply: @escaping Reply) { self.reply = reply }
9
+ }
10
+ private let lock = NSLock()
11
+ private var requests: [String: Request] = [:]
12
+ private var closed = false
13
+
14
+ static func failure(_ code: String, _ message: String) -> [String: Any] {
15
+ ["success": false, "error": code, "message": message]
16
+ }
17
+
18
+ func start(key: String, reply: @escaping Reply, operation: @escaping () async -> [String: Any]) {
19
+ let request = Request(reply: reply)
20
+ lock.lock()
21
+ let rejected = closed || requests[key] != nil
22
+ if !rejected { requests[key] = request }
23
+ let isClosed = closed
24
+ lock.unlock()
25
+ guard !rejected else {
26
+ reply(Self.failure(isClosed ? "E_NATIVE_MODULE_UNAVAILABLE" : "E_BLE_REQUEST_BUSY", isClosed ? "BLE bridge is closed" : "A request is already pending for this device and operation"))
27
+ return
28
+ }
29
+ let task = Task { [weak self] in
30
+ guard self?.owns(key: key, request: request) == true, !Task.isCancelled else { return }
31
+ let response = await operation()
32
+ self?.finish(key: key, request: request, response: response)
33
+ }
34
+ lock.lock()
35
+ let owned = requests[key] === request
36
+ if owned { request.task = task }
37
+ lock.unlock()
38
+ if !owned { task.cancel() }
39
+ }
40
+
41
+ private func owns(key: String, request: Request) -> Bool {
42
+ lock.lock(); defer { lock.unlock() }
43
+ return requests[key] === request
44
+ }
45
+
46
+ private func finish(key: String, request: Request, response: [String: Any]) {
47
+ lock.lock()
48
+ let owned = requests[key] === request
49
+ if owned { requests.removeValue(forKey: key) }
50
+ lock.unlock()
51
+ if owned { request.reply(response) }
52
+ }
53
+
54
+ func cancel(key: String) {
55
+ lock.lock()
56
+ let request = requests.removeValue(forKey: key)
57
+ lock.unlock()
58
+ request?.task?.cancel()
59
+ request?.reply(Self.failure("E_BLE_REQUEST_CANCELLED", "BLE request cancelled"))
60
+ }
61
+
62
+ func close() {
63
+ lock.lock()
64
+ closed = true
65
+ let pending = Array(requests.values)
66
+ requests.removeAll()
67
+ lock.unlock()
68
+ pending.forEach { $0.task?.cancel() }
69
+ }
70
+ }
@@ -13,6 +13,10 @@ RCT_EXTERN_METHOD(connect:(NSDictionary *)options result:(RCTResponseSenderBlock
13
13
  RCT_EXTERN_METHOD(disConnect:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
14
14
  RCT_EXTERN_METHOD(sendDp:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
15
15
  RCT_EXTERN_METHOD(getDp:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
16
+ RCT_EXTERN_METHOD(getWiFiList:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
17
+ RCT_EXTERN_METHOD(cancelGetWiFiList:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
18
+ RCT_EXTERN_METHOD(syncTime:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
19
+ RCT_EXTERN_METHOD(cancelSyncTime:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
16
20
  RCT_EXTERN_METHOD(getDeviceInfo:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
17
21
  RCT_EXTERN_METHOD(checkUpdate:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
18
22
  RCT_EXTERN_METHOD(startUpgrade:(NSDictionary *)options result:(RCTResponseSenderBlock)result)
@@ -96,6 +96,73 @@ struct StopProvideWiFiCredentialsParams: Decodable {
96
96
  @objc(RNGizDeviceManagerModule)
97
97
  class RNGizDeviceManagerModule: RCTEventEmitter {
98
98
 
99
+ private let bleRequests = BleRequestRegistry()
100
+
101
+ override func invalidate() {
102
+ bleRequests.close()
103
+ super.invalidate()
104
+ }
105
+
106
+ private func bleReply(_ result: @escaping RCTResponseSenderBlock) -> BleRequestRegistry.Reply {
107
+ return { response in
108
+ if response["success"] as? Bool == true { result([NSNull(), response]) }
109
+ else { result([response, NSNull()]) }
110
+ }
111
+ }
112
+
113
+ private func bleOptions(_ options: NSDictionary, reply: BleRequestRegistry.Reply, timed: Bool) -> (String, Double)? {
114
+ guard let id = options["id"] as? String, !id.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else {
115
+ reply(BleRequestRegistry.failure("E_BLE_INVALID_PARAMS", "A device id is required")); return nil
116
+ }
117
+ var seconds = 30.0
118
+ if timed, let value = options["timeoutSeconds"] {
119
+ guard let number = value as? NSNumber, CFGetTypeID(number) != CFBooleanGetTypeID() else {
120
+ reply(BleRequestRegistry.failure("E_BLE_INVALID_TIMEOUT", "timeoutSeconds must be a number")); return nil
121
+ }
122
+ seconds = number.doubleValue
123
+ }
124
+ guard seconds.isFinite, seconds > 0, seconds <= 3600 else {
125
+ reply(BleRequestRegistry.failure("E_BLE_INVALID_TIMEOUT", "timeoutSeconds must be greater than 0 and at most 3600")); return nil
126
+ }
127
+ return (id, seconds)
128
+ }
129
+
130
+ private func startBleRequest(_ options: NSDictionary, result: @escaping RCTResponseSenderBlock, operation: String) {
131
+ let reply = bleReply(result)
132
+ guard let (id, timeout) = bleOptions(options, reply: reply, timed: true) else { return }
133
+ guard let device = findDevice(id: id) else {
134
+ reply(BleRequestRegistry.failure("E_BLE_DEVICE_NOT_FOUND", "Device not found")); return
135
+ }
136
+ bleRequests.start(key: "\(operation):\(id)", reply: reply) {
137
+ if operation == "wifi" {
138
+ let response = await device.bleCapability.getWiFiList(timeout: timeout)
139
+ return GizRNCallbackManager.convertToDictionary(object: response) ?? BleRequestRegistry.failure("E_BLE_INVALID_RESPONSE", "Invalid Wi-Fi list response")
140
+ }
141
+ let response = await device.bleCapability.syncTime(timeout: timeout)
142
+ return GizRNCallbackManager.convertToDictionary(object: response) ?? BleRequestRegistry.failure("E_BLE_INVALID_RESPONSE", "Invalid time sync response")
143
+ }
144
+ }
145
+
146
+ private func cancelBleRequest(_ options: NSDictionary, result: @escaping RCTResponseSenderBlock, operation: String) {
147
+ let reply = bleReply(result)
148
+ guard let (id, _) = bleOptions(options, reply: reply, timed: false) else { return }
149
+ bleRequests.cancel(key: "\(operation):\(id)")
150
+ reply(["success": true, "message": "", "data": NSNull()])
151
+ }
152
+
153
+ @objc public func getWiFiList(_ options: NSDictionary, result: @escaping RCTResponseSenderBlock) {
154
+ startBleRequest(options, result: result, operation: "wifi")
155
+ }
156
+ @objc public func cancelGetWiFiList(_ options: NSDictionary, result: @escaping RCTResponseSenderBlock) {
157
+ cancelBleRequest(options, result: result, operation: "wifi")
158
+ }
159
+ @objc public func syncTime(_ options: NSDictionary, result: @escaping RCTResponseSenderBlock) {
160
+ startBleRequest(options, result: result, operation: "time")
161
+ }
162
+ @objc public func cancelSyncTime(_ options: NSDictionary, result: @escaping RCTResponseSenderBlock) {
163
+ cancelBleRequest(options, result: result, operation: "time")
164
+ }
165
+
99
166
  override func supportedEvents() -> [String]! {
100
167
  return ["GizOTAProgressEvent", "GizProvideWiFiCredentialsEvent", "GizMusicalRhythmEvnet"]
101
168
  }
package/lib/device.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Base from './Base';
2
- import { GizCapability, GizDeviceData, GizDeviceInfoProfile, GizMusicalRhythmCallback, GizOTAFirmwareType, GizOtaProgressCallback, GizOtaProgressEventCallback, GizProvideWiFiCredentialsCallback, GizResult, MusicalRhythmParseMode } from './types';
2
+ import { GizCapability, GizDeviceData, GizDeviceInfoProfile, GizMusicalRhythmCallback, GizOTAFirmwareType, GizOtaProgressCallback, GizOtaProgressEventCallback, GizProvideWiFiCredentialsCallback, GizResult, GizWiFiNetwork, MusicalRhythmParseMode } from './types';
3
3
  declare class RNGizDeviceManagerModule extends Base {
4
4
  otaEventCallbacks: GizOtaProgressEventCallback[];
5
5
  provideWiFiCredentialsCallbacks: GizProvideWiFiCredentialsCallback[];
@@ -12,6 +12,11 @@ declare class RNGizDeviceManagerModule extends Base {
12
12
  musicalRhythmCallback: GizMusicalRhythmCallback;
13
13
  sendDp(id: string, type: GizCapability, data: Object): Promise<GizResult<GizDeviceData, any>>;
14
14
  getDp(id: string, type: GizCapability, attrs?: string[]): Promise<GizResult<GizDeviceData, any>>;
15
+ private invokeBle;
16
+ getWiFiList(id: string, timeoutSeconds?: number): Promise<GizResult<GizWiFiNetwork[], number | string>>;
17
+ cancelGetWiFiList(id: string): Promise<GizResult<null, number | string>>;
18
+ syncTime(id: string, timeoutSeconds?: number): Promise<GizResult<null, number | string>>;
19
+ cancelSyncTime(id: string): Promise<GizResult<null, number | string>>;
15
20
  getDeviceInfo(id: string, type: GizCapability): Promise<GizResult<GizDeviceInfoProfile, any>>;
16
21
  connect(id: string, type: GizCapability): Promise<GizResult<any, any>>;
17
22
  disConnect(id: string, type: GizCapability): Promise<GizResult<any, any>>;
package/lib/device.js CHANGED
@@ -46,6 +46,41 @@ class RNGizDeviceManagerModule extends Base {
46
46
  }, callback);
47
47
  });
48
48
  }
49
+ invokeBle(method, id, timeoutSeconds) {
50
+ if (timeoutSeconds !== undefined &&
51
+ (!Number.isFinite(timeoutSeconds) ||
52
+ timeoutSeconds <= 0 ||
53
+ timeoutSeconds > 3600)) {
54
+ return Promise.resolve({
55
+ success: false,
56
+ error: 'E_BLE_INVALID_TIMEOUT',
57
+ message: 'timeoutSeconds must be greater than 0 and at most 3600',
58
+ });
59
+ }
60
+ const native = NativeModules.RNGizDeviceManagerModule;
61
+ if (typeof (native === null || native === void 0 ? void 0 : native[method]) !== 'function') {
62
+ return Promise.resolve({
63
+ success: false,
64
+ error: 'E_NATIVE_MODULE_UNAVAILABLE',
65
+ message: `${method} requires rebuilding the app with the updated native SDK bridge`,
66
+ });
67
+ }
68
+ return this.callbackWapper((callback) => {
69
+ native[method]({ id, ...(timeoutSeconds === undefined ? {} : { timeoutSeconds }) }, callback);
70
+ });
71
+ }
72
+ getWiFiList(id, timeoutSeconds = 30) {
73
+ return this.invokeBle('getWiFiList', id, timeoutSeconds);
74
+ }
75
+ cancelGetWiFiList(id) {
76
+ return this.invokeBle('cancelGetWiFiList', id);
77
+ }
78
+ syncTime(id, timeoutSeconds = 30) {
79
+ return this.invokeBle('syncTime', id, timeoutSeconds);
80
+ }
81
+ cancelSyncTime(id) {
82
+ return this.invokeBle('cancelSyncTime', id);
83
+ }
49
84
  getDeviceInfo(id, type) {
50
85
  return this.callbackWapper((callback) => {
51
86
  NativeModules.RNGizDeviceManagerModule.getDeviceInfo({
package/lib/device.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEhE,OAAO,IAAI,MAAM,QAAQ,CAAA;AAczB,MAAM,YAAY,GAAG,IAAI,kBAAkB,CACzC,aAAa,CAAC,wBAAwB,CACvC,CAAA;AAED,MAAM,wBAAyB,SAAQ,IAAI;IAKzC;QACE,KAAK,EAAE,CAAA;QALT,sBAAiB,GAAkC,EAAE,CAAA;QACrD,oCAA+B,GAAwC,EAAE,CAAA;QACzE,2BAAsB,GAAkD,EAAE,CAAA;QAe1E,qBAAgB,GAAgC,CAAC,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,mCAA8B,GAAsC,CAClE,IAAI,EACJ,EAAE;YACF,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,IAAI,CAAC,IAAI,CAAC,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,0BAAqB,GAA6B,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;YACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YACtD,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QA7BC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACtE,YAAY,CAAC,WAAW,CACtB,gCAAgC,EAChC,IAAI,CAAC,8BAA8B,CACpC,CAAA;QACD,YAAY,CAAC,WAAW,CACtB,uBAAuB,EACvB,IAAI,CAAC,qBAAqB,CAC3B,CAAA;IACH,CAAC;IAsBD,MAAM,CACJ,EAAU,EACV,IAAmB,EACnB,IAAY;QAEZ,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACvC,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAC3C;gBACE,EAAE;gBACF,IAAI;gBACJ,IAAI,EAAE,UAAU;aACjB,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CACH,EAAU,EACV,IAAmB,EACnB,KAAgB;QAEhB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,KAAK,CAC1C;gBACE,EAAE;gBACF,IAAI;gBACJ,KAAK;aACN,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CACX,EAAU,EACV,IAAmB;QAEnB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,aAAa,CAClD;gBACE,EAAE;gBACF,IAAI;aACL,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,IAAmB;QACrC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,OAAO,CAC5C;gBACE,EAAE;gBACF,IAAI;aACL,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,UAAU,CAAC,EAAU,EAAE,IAAmB;QACxC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,UAAU,CAC/C;gBACE,EAAE;gBACF,IAAI;aACL,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gBAAgB,CACd,EAAU,EACV,KAAc,EACd,MAAe;QAEf,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,gBAAgB,CACrD;gBACE,EAAE;gBACF,KAAK;gBACL,MAAM;aACP,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CACF,EAAU,EACV,KAAc,EACd,MAAe;QAEf,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,IAAI,CACzC;gBACE,EAAE;gBACF,KAAK;gBACL,MAAM;aACP,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,MAAM,CAC3C;gBACE,EAAE;aACH,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,QAAQ,CAC7C;gBACE,EAAE;aACH,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,WAAW,CACT,EAAU,EACV,IAAmB,EACnB,YAAgC;QAEhC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,WAAW,CAChD;gBACE,EAAE;gBACF,IAAI;gBACJ,YAAY;aACb,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,IAAmB,EACnB,YAAgC,EAChC,QAAgC;QAEhC,OAAO;QACP,MAAM,cAAc,GAAgC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/D,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAA;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CACpC,CAAC,cAAqC,EAAE,EAAE;YACxC,aAAa,CAAC,wBAAwB,CAAC,YAAY,CACjD;gBACE,EAAE;gBACF,IAAI;gBACJ,YAAY;aACb,EACD,cAAc,CACf,CAAA;QACH,CAAC,CACF,CAAA;QACD,aAAa;QACb,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,IAAmB;QAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,aAAa,CAClD;gBACE,EAAE;gBACF,IAAI;aACL,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,EAAU,EACV,IAAmB,EACnB,IAAY,EACZ,QAAgB,EAChB,OAAe,EACf,cAAiD,EACjD,WAAqB;QAErB,MAAM,cAAc,GAAsC,CAAC,IAAI,EAAE,EAAE;YACjE,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CACpC,CAAC,QAA+B,EAAE,EAAE;YAClC,aAAa,CAAC,wBAAwB,CAAC,sBAAsB,CAC3D;gBACE,EAAE;gBACF,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,OAAO;gBACP,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,KAAK;aAClC,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CACF,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,+BAA+B,EAAE,cAAc,CAAC,CAAA;QACzE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,EAAU,EACV,IAAmB;QAEnB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,0BAA0B,CAC/D;gBACE,EAAE;gBACF,IAAI;aACL,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iCAAiC,CACrC,IAAY,EACZ,QAAgB,EAChB,OAAe,EACf,WAAqB,EACrB,cAAiD;QAEjD,MAAM,cAAc,GAAsC,CAAC,IAAI,EAAE,EAAE;YACjE,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CACpC,CAAC,QAA+B,EAAE,EAAE;YAClC,aAAa,CAAC,wBAAwB,CAAC,iCAAiC,CACtE;gBACE,IAAI;gBACJ,QAAQ;gBACR,OAAO;gBACP,WAAW;aACZ,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CACF,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,+BAA+B,EAAE,cAAc,CAAC,CAAA;QACzE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qCAAqC;QACnC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,qCAAqC,CAC1E,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,EAAU,EACV,WAAmB,EACnB,IAA4B,EAC5B,MAAiC;QAEjC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;SACzC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,kBAAkB,CACvD;gBACE,EAAE;gBACF,WAAW;gBACX,IAAI;gBACJ,WAAW,EAAE,MAAM,KAAK,SAAS;aAClC,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;QAEtC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,QAA+B,EAAE,EAAE;YAC7D,aAAa,CAAC,wBAAwB,CAAC,iBAAiB,CACtD;gBACE,EAAE;aACH,EACD,QAAQ,CACT,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,eAAe,IAAI,wBAAwB,EAAE,CAAA;AAE7C,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import Base from '../Base';
2
- import type { GizCapability, GizCheckUpdateResultInfo, GizDeviceData, GizDeviceInfoProfile, GizDeviceRegistrationInfo, GizLightDanceDataEvent, GizMusicalRhythmCallback, GizOTAFirmwareType, GizOtaProgressCallback, GizProvideWiFiCredentialsCallback, GizResult, MusicalRhythmParseMode } from '../types';
2
+ import type { GizCapability, GizCheckUpdateResultInfo, GizDeviceData, GizDeviceInfoProfile, GizDeviceRegistrationInfo, GizLightDanceDataEvent, GizMusicalRhythmCallback, GizOTAFirmwareType, GizOtaProgressCallback, GizProvideWiFiCredentialsCallback, GizResult, GizWiFiNetwork, MusicalRhythmParseMode } from '../types';
3
3
  export declare class RNGizDeviceManagerModule extends Base {
4
4
  private static requestSequence;
5
5
  private readonly otaCallbacks;
@@ -9,6 +9,11 @@ export declare class RNGizDeviceManagerModule extends Base {
9
9
  private ensureNativeListeners;
10
10
  sendDp(id: string, type: GizCapability, data: object): Promise<GizResult<GizDeviceData, string>>;
11
11
  getDp(id: string, type: GizCapability, attrs?: string[]): Promise<GizResult<GizDeviceData, string>>;
12
+ private invokeBle;
13
+ getWiFiList(id: string, timeoutSeconds?: number): Promise<GizResult<GizWiFiNetwork[], string>>;
14
+ cancelGetWiFiList(id: string): Promise<GizResult<null, string>>;
15
+ syncTime(id: string, timeoutSeconds?: number): Promise<GizResult<null, string>>;
16
+ cancelSyncTime(id: string): Promise<GizResult<null, string>>;
12
17
  getDeviceInfo(id: string, type: GizCapability): Promise<GizResult<GizDeviceInfoProfile, string>>;
13
18
  connect(id: string, type: GizCapability): Promise<GizResult<unknown, string>>;
14
19
  disConnect(id: string, type: GizCapability): Promise<GizResult<unknown, string>>;
@@ -1,6 +1,6 @@
1
1
  import { NativeEventEmitter } from 'react-native';
2
2
  import Base from '../Base';
3
- import { invokeNative, parseNativeEvent, unsupported } from './bridge';
3
+ import { failure, invokeNative, parseNativeEvent, unsupported } from './bridge';
4
4
  import { DeviceNativeModule } from './native';
5
5
  export class RNGizDeviceManagerModule extends Base {
6
6
  constructor() {
@@ -57,6 +57,30 @@ export class RNGizDeviceManagerModule extends Base {
57
57
  getDp(id, type, attrs) {
58
58
  return invokeNative(DeviceNativeModule, 'getDp', { id, type, attrs });
59
59
  }
60
+ invokeBle(method, id, timeoutSeconds) {
61
+ if (timeoutSeconds !== undefined &&
62
+ (!Number.isFinite(timeoutSeconds) ||
63
+ timeoutSeconds <= 0 ||
64
+ timeoutSeconds > 3600)) {
65
+ return Promise.resolve(failure('E_BLE_INVALID_TIMEOUT', 'timeoutSeconds must be greater than 0 and at most 3600'));
66
+ }
67
+ return invokeNative(DeviceNativeModule, method, {
68
+ id,
69
+ ...(timeoutSeconds === undefined ? {} : { timeoutSeconds }),
70
+ });
71
+ }
72
+ getWiFiList(id, timeoutSeconds = 30) {
73
+ return this.invokeBle('getWiFiList', id, timeoutSeconds);
74
+ }
75
+ cancelGetWiFiList(id) {
76
+ return this.invokeBle('cancelGetWiFiList', id);
77
+ }
78
+ syncTime(id, timeoutSeconds = 30) {
79
+ return this.invokeBle('syncTime', id, timeoutSeconds);
80
+ }
81
+ cancelSyncTime(id) {
82
+ return this.invokeBle('cancelSyncTime', id);
83
+ }
60
84
  getDeviceInfo(id, type) {
61
85
  return invokeNative(DeviceNativeModule, 'getDeviceInfo', { id, type });
62
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/harmony/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/harmony/device.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ export class RNGizSDKManagerModuleClass extends Base {
68
68
  capability.provideWiFiCredentials = (ssid, password, timeout, callback, bindWithUid) => RNGizDeviceManagerModule.provideWiFiCredentials(device.id, type, ssid, password, timeout, callback, bindWithUid);
69
69
  capability.stopProvideWiFiCredentials = () => RNGizDeviceManagerModule.stopProvideWiFiCredentials(device.id, type);
70
70
  };
71
+ device.bleCapability.getWiFiList = (timeoutSeconds) => RNGizDeviceManagerModule.getWiFiList(device.id, timeoutSeconds);
72
+ device.bleCapability.cancelGetWiFiList = () => RNGizDeviceManagerModule.cancelGetWiFiList(device.id);
73
+ device.bleCapability.syncTime = (timeoutSeconds) => RNGizDeviceManagerModule.syncTime(device.id, timeoutSeconds);
74
+ device.bleCapability.cancelSyncTime = () => RNGizDeviceManagerModule.cancelSyncTime(device.id);
71
75
  bindCapability(device.bleCapability, 'BLE');
72
76
  bindCapability(device.lanCapability, 'LAN');
73
77
  bindCapability(device.mqttCapability, 'MQTT');
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/harmony/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/harmony/sdk.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export type GizNativeCallback = (error: Object | null, result: Object | null) =>
3
3
  export interface Spec extends TurboModule {
4
4
  sendDp(options: Object, callback: GizNativeCallback): void;
5
5
  getDp(options: Object, callback: GizNativeCallback): void;
6
+ getWiFiList(options: Object, callback: GizNativeCallback): void;
7
+ cancelGetWiFiList(options: Object, callback: GizNativeCallback): void;
8
+ syncTime(options: Object, callback: GizNativeCallback): void;
9
+ cancelSyncTime(options: Object, callback: GizNativeCallback): void;
6
10
  getDeviceInfo(options: Object, callback: GizNativeCallback): void;
7
11
  connect(options: Object, callback: GizNativeCallback): void;
8
12
  disConnect(options: Object, callback: GizNativeCallback): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeRNGizDeviceManagerModule.js","sourceRoot":"","sources":["../../../src/harmony/specs/NativeRNGizDeviceManagerModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAiClD,eAAe,mBAAmB,CAAC,GAAG,CAAO,0BAA0B,CAAC,CAAA"}
1
+ {"version":3,"file":"NativeRNGizDeviceManagerModule.js","sourceRoot":"","sources":["../../../src/harmony/specs/NativeRNGizDeviceManagerModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAqClD,eAAe,mBAAmB,CAAC,GAAG,CAAO,0BAA0B,CAAC,CAAA"}
package/lib/index.js CHANGED
@@ -25,6 +25,10 @@ class RNGizSDKManagerModuleClass extends Base {
25
25
  device.stopMusicalRhythm = () => {
26
26
  return RNGizDeviceManagerModule.stopMusicalRhythm(device.id);
27
27
  };
28
+ device.bleCapability.getWiFiList = (timeoutSeconds) => RNGizDeviceManagerModule.getWiFiList(device.id, timeoutSeconds);
29
+ device.bleCapability.cancelGetWiFiList = () => RNGizDeviceManagerModule.cancelGetWiFiList(device.id);
30
+ device.bleCapability.syncTime = (timeoutSeconds) => RNGizDeviceManagerModule.syncTime(device.id, timeoutSeconds);
31
+ device.bleCapability.cancelSyncTime = () => RNGizDeviceManagerModule.cancelSyncTime(device.id);
28
32
  device.bleCapability.connect = () => {
29
33
  return RNGizDeviceManagerModule.connect(device.id, 'BLE');
30
34
  };
@@ -135,6 +139,7 @@ class RNGizSDKManagerModuleClass extends Base {
135
139
  };
136
140
  };
137
141
  this.deviceDataCallback = (data) => {
142
+ this.appendDeviceFunction(data.device);
138
143
  this.deviceDataCallbacks.map((item) => {
139
144
  item(data);
140
145
  });
@@ -148,6 +153,7 @@ class RNGizSDKManagerModuleClass extends Base {
148
153
  });
149
154
  };
150
155
  this.deviceStateCallback = (data) => {
156
+ this.appendDeviceFunction(data.device);
151
157
  this.deviceStateCallbacks.map((item) => {
152
158
  item(data);
153
159
  });
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -107,6 +107,10 @@ export interface GizBleProfile extends GizBaseProfile {
107
107
  blueToothVersion: BlueToothVersion;
108
108
  bluetoothVersion?: BlueToothVersion;
109
109
  bleModuleVariant?: GizBleModuleVariant;
110
+ /** Android/HarmonyOS advertisement metadata; the native SDK negotiates security automatically. */
111
+ supportsSecureChannel?: boolean;
112
+ support5GConfig?: boolean;
113
+ supports5GConfig?: boolean;
110
114
  }
111
115
  export interface GizMQTTProfile extends GizBaseProfile {
112
116
  host: string;
@@ -116,8 +120,20 @@ export interface GizMQTTProfile extends GizBaseProfile {
116
120
  sno?: string;
117
121
  isOnline?: boolean;
118
122
  }
123
+ /** A network from the module's cached scan results, not the phone's Wi-Fi scan. */
124
+ export interface GizWiFiNetwork {
125
+ ssid: string;
126
+ /** Signed RSSI in dBm; for example -50. */
127
+ signalStrength: number;
128
+ }
119
129
  export interface GizBleCapability extends GizBaseCapability {
120
130
  profile: GizBleProfile;
131
+ /** Android/iOS/HarmonyOS. Timeout includes connection and authentication; default 30 seconds. */
132
+ getWiFiList: (timeoutSeconds?: number) => Promise<GizResult<GizWiFiNetwork[], number | string>>;
133
+ cancelGetWiFiList: () => Promise<GizResult<null, number | string>>;
134
+ /** Android/iOS/HarmonyOS. V5 success means GATT accepted the write; V2 requires firmware's time extension. */
135
+ syncTime: (timeoutSeconds?: number) => Promise<GizResult<null, number | string>>;
136
+ cancelSyncTime: () => Promise<GizResult<null, number | string>>;
121
137
  }
122
138
  export interface GizLanCapability extends GizBaseCapability {
123
139
  profile: GizLanProfile;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gizwits-sdk-v5",
3
- "version": "2.0.2-beta",
3
+ "version": "2.1.1-beta",
4
4
  "description": "Gizwits Smart SDK v5 bridge for React Native on Android, iOS and HarmonyOS",
5
5
  "homepage": "https://github.com/demchenkoalex/react-native-gizwits-sdk-v5#readme",
6
6
  "main": "lib/index",
@@ -45,7 +45,9 @@
45
45
  "build:harmony": "bash ./harmony/react_native_gizwits_sdk_v5/build.sh",
46
46
  "sync:harmony-version": "node ./scripts/sync-harmony-version.js",
47
47
  "version": "npm run sync:harmony-version",
48
- "check:publish": "node ./scripts/check-publish.js"
48
+ "check:publish": "node ./scripts/check-publish.js",
49
+ "bundle:harmony-sdk": "python3 ./scripts/bundle-harmony-sdk.py",
50
+ "test:harmony-ble": "node --test ./scripts/test-harmony-ble.cjs"
49
51
  },
50
52
  "devDependencies": {
51
53
  "@babel/core": "^7.16.12",
@@ -87,6 +89,9 @@
87
89
  "jsx",
88
90
  "json",
89
91
  "node"
92
+ ],
93
+ "roots": [
94
+ "<rootDir>/src"
90
95
  ]
91
96
  }
92
97
  }
@@ -19,6 +19,6 @@ Pod::Spec.new do |s|
19
19
 
20
20
  s.dependency 'React'
21
21
  s.dependency 'CryptoSwift', '~> 1.8.0'
22
- s.dependency 'GizwitsiOSSDK', '~> 2.1.8'
22
+ s.dependency 'GizwitsiOSSDK', '~> 2.1.9'
23
23
 
24
24
  end
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env python3
2
+ """Build a local Gizwits SDK snapshot and vendor all four HARs without publishing."""
3
+ import argparse
4
+ import hashlib
5
+ import io
6
+ import json
7
+ import os
8
+ from pathlib import Path
9
+ import shutil
10
+ import subprocess
11
+ import tarfile
12
+ import tempfile
13
+
14
+ MODULES = ['sdk', 'sdk_bluetooth', 'sdk_lan', 'sdk_mqtt']
15
+ EXCLUDE = {'.git', '.hvigor', '.cxx', '.idea', 'oh_modules', 'node_modules', 'build', '.DS_Store'}
16
+
17
+
18
+ def main():
19
+ parser = argparse.ArgumentParser(description=__doc__)
20
+ parser.add_argument('--sdk-root', type=Path, required=True)
21
+ args = parser.parse_args()
22
+ source = args.sdk_root.resolve()
23
+ if not (source / 'sdk/src/main/cpp/parser/protocolParser.c').is_file():
24
+ parser.error('Initialize the SDK parser submodule before building')
25
+ repo = Path(__file__).resolve().parents[1]
26
+ module_dir = repo / 'harmony/react_native_gizwits_sdk_v5'
27
+ studio = Path(os.environ.get('DEVECO_STUDIO_HOME', '/Applications/DevEco-Studio.app/Contents'))
28
+ digest = hashlib.sha256()
29
+ for module in MODULES:
30
+ for file in sorted((source / module).rglob('*')):
31
+ relative = file.relative_to(source)
32
+ if not file.is_file() or any(part in EXCLUDE for part in relative.parts):
33
+ continue
34
+ if file.name in {'BuildProfile.ets', 'oh-package-lock.json5'}:
35
+ continue
36
+ digest.update(str(relative).encode())
37
+ digest.update(file.read_bytes())
38
+ snapshot = digest.hexdigest()[:12]
39
+ base = json.loads((source / 'sdk/oh-package.json5').read_text())['version']
40
+ if '-' in base:
41
+ parser.error('Choose a stable base version in the SDK manifest before making a local snapshot')
42
+ work = Path(tempfile.mkdtemp(prefix='gizwits-native-local-'))
43
+ shutil.copytree(source, work, dirs_exist_ok=True, symlinks=True,
44
+ ignore=lambda _dir, names: [n for n in names if n in EXCLUDE])
45
+ profile = json.loads((work / 'build-profile.json5').read_text())
46
+ profile['app'].pop('signingConfigs', None)
47
+ for product in profile['app'].get('products', []):
48
+ product.pop('signingConfig', None)
49
+ (work / 'build-profile.json5').write_text(json.dumps(profile, indent=2) + '\n')
50
+ versions = {}
51
+ for module in MODULES:
52
+ suffix = '' if module == 'sdk' else module.removeprefix('sdk_') + '.'
53
+ version = f'{base}-{suffix}local.{snapshot}'
54
+ versions[module] = version
55
+ manifest_path = work / module / 'oh-package.json5'
56
+ manifest = json.loads(manifest_path.read_text())
57
+ manifest['version'] = version
58
+ if module != 'sdk':
59
+ manifest['dependencies']['@gizwits/smart-sdk'] = versions['sdk']
60
+ manifest_path.write_text(json.dumps(manifest, indent=2) + '\n')
61
+ environment = os.environ.copy()
62
+ environment.update(NODE_HOME=str(studio / 'tools/node'), DEVECO_SDK_HOME=str(studio / 'sdk'),
63
+ JAVA_HOME=str(studio / 'jbr/Contents/Home'))
64
+ subprocess.run([str(studio / 'tools/ohpm/bin/ohpm'), 'install'], cwd=work, env=environment, check=True)
65
+ outputs = {}
66
+ for module in MODULES:
67
+ subprocess.run([str(studio / 'tools/hvigor/bin/hvigorw'), '--mode', 'module', '-p', 'product=default',
68
+ '-p', f'module={module}@default', '-p', 'buildMode=release', 'assembleHar', '--no-daemon'],
69
+ cwd=work, env=environment, check=True)
70
+ outputs[module] = work / module / 'build/default/outputs/default' / f'{module}.har'
71
+ # Each transport carries the exact same core archive, so none of its transitive
72
+ # dependencies can fall back to the older public core. Check clean-consumer
73
+ # resolution and core identity when changing this packaging layout.
74
+ vendored = work / 'vendored'
75
+ vendored.mkdir()
76
+ core = outputs['sdk'].read_bytes()
77
+ (vendored / 'sdk.har').write_bytes(core)
78
+ for module in MODULES[1:]:
79
+ with tarfile.open(outputs[module]) as original, tarfile.open(vendored / f'{module}.har', 'w:gz') as output:
80
+ for member in original.getmembers():
81
+ stream = original.extractfile(member) if member.isfile() else None
82
+ if member.name == 'package/oh-package.json5':
83
+ manifest = json.load(stream)
84
+ manifest['dependencies']['@gizwits/smart-sdk'] = 'file:./vendor/sdk.har'
85
+ data = (json.dumps(manifest, indent=2) + '\n').encode()
86
+ member.size = len(data)
87
+ stream = io.BytesIO(data)
88
+ output.addfile(member, stream)
89
+ member = tarfile.TarInfo('package/vendor/sdk.har')
90
+ member.size = len(core)
91
+ member.mode = 0o644
92
+ output.addfile(member, io.BytesIO(core))
93
+ destination = module_dir / 'libs'
94
+ destination.mkdir(exist_ok=True)
95
+ for module in MODULES:
96
+ shutil.copy2(vendored / f'{module}.har', destination / f'{module}.har')
97
+ metadata = {'baseVersion': base, 'sourceDigest': snapshot, 'modules': {
98
+ module: {'version': versions[module], 'sha256': hashlib.sha256((destination / f'{module}.har').read_bytes()).hexdigest()}
99
+ for module in MODULES
100
+ }}
101
+ (destination / 'sdk-snapshot.json').write_text(json.dumps(metadata, indent=2) + '\n')
102
+ print(f'Local SDK snapshot {snapshot} bundled at {destination}; no registry publication performed.')
103
+
104
+
105
+ if __name__ == '__main__':
106
+ main()
@@ -2,6 +2,8 @@
2
2
 
3
3
  const fs = require('fs')
4
4
  const path = require('path')
5
+ const os = require('os')
6
+ const crypto = require('crypto')
5
7
  const { execFileSync } = require('child_process')
6
8
 
7
9
  const repositoryDir = path.resolve(__dirname, '..')
@@ -48,10 +50,85 @@ if (
48
50
  ) {
49
51
  throw new Error('HAR name/version does not match the root npm package')
50
52
  }
53
+ const bundledModules = {
54
+ '@gizwits/smart-sdk': 'sdk',
55
+ '@gizwits/smart-sdk-bluetooth': 'sdk_bluetooth',
56
+ '@gizwits/smart-sdk-lan': 'sdk_lan',
57
+ '@gizwits/smart-sdk-mqtt': 'sdk_mqtt',
58
+ }
51
59
  for (const [name, version] of Object.entries(manifest.dependencies || {})) {
52
60
  if (/^(?:file:|\.{1,2}[/\\]|[/\\]|[A-Za-z]:)/.test(version)) {
53
- throw new Error(`HAR contains a local dependency: ${name}=${version}`)
61
+ const module = bundledModules[name]
62
+ if (
63
+ !module ||
64
+ version !== `file:./libs/${module}.har` ||
65
+ !entries.has(`package/libs/${module}.har`)
66
+ ) {
67
+ throw new Error(
68
+ `HAR contains an unbundled local dependency: ${name}=${version}`
69
+ )
70
+ }
71
+ }
72
+ }
73
+ const snapshot = JSON.parse(
74
+ execFileSync('tar', ['-xOf', harPath, 'package/libs/sdk-snapshot.json'], {
75
+ encoding: 'utf8',
76
+ })
77
+ )
78
+ const temporary = fs.mkdtempSync(path.join(os.tmpdir(), 'gizwits-har-check-'))
79
+ try {
80
+ let coreBytes
81
+ for (const [name, module] of Object.entries(bundledModules)) {
82
+ if (manifest.dependencies[name] !== `file:./libs/${module}.har`) {
83
+ throw new Error(`HAR must carry the local SDK: ${name}`)
84
+ }
85
+ const bytes = execFileSync(
86
+ 'tar',
87
+ ['-xOf', harPath, `package/libs/${module}.har`],
88
+ { maxBuffer: 32 * 1024 * 1024 }
89
+ )
90
+ const hash = crypto.createHash('sha256').update(bytes).digest('hex')
91
+ if (hash !== snapshot.modules[module].sha256)
92
+ throw new Error(`SDK snapshot hash mismatch: ${module}`)
93
+ const nativePath = path.join(temporary, `${module}.har`)
94
+ fs.writeFileSync(nativePath, bytes)
95
+ const native = JSON.parse(
96
+ execFileSync('tar', ['-xOf', nativePath, 'package/oh-package.json5'], {
97
+ encoding: 'utf8',
98
+ })
99
+ )
100
+ if (
101
+ native.name !== name ||
102
+ native.version !== snapshot.modules[module].version
103
+ ) {
104
+ throw new Error(`SDK snapshot metadata mismatch: ${module}`)
105
+ }
106
+ if (module === 'sdk') {
107
+ coreBytes = bytes
108
+ const nativeEntries = execFileSync('tar', ['-tf', nativePath], {
109
+ encoding: 'utf8',
110
+ }).split('\n')
111
+ for (const abi of ['arm64-v8a', 'x86_64']) {
112
+ if (!nativeEntries.includes(`package/libs/${abi}/libgiz_parser.so`))
113
+ throw new Error(`Missing parser for ${abi}`)
114
+ }
115
+ } else {
116
+ if (
117
+ native.dependencies['@gizwits/smart-sdk'] !== 'file:./vendor/sdk.har'
118
+ ) {
119
+ throw new Error(`${module} still depends on a registry core`)
120
+ }
121
+ const nested = execFileSync(
122
+ 'tar',
123
+ ['-xOf', nativePath, 'package/vendor/sdk.har'],
124
+ { maxBuffer: 32 * 1024 * 1024 }
125
+ )
126
+ if (!nested.equals(coreBytes))
127
+ throw new Error(`${module} contains a different core`)
128
+ }
54
129
  }
130
+ } finally {
131
+ fs.rmSync(temporary, { recursive: true, force: true })
55
132
  }
56
133
  if ([...entries].some((entry) => entry.startsWith('package/AppScope/'))) {
57
134
  throw new Error('HAR must not contain the local build project AppScope')
@@ -0,0 +1,83 @@
1
+ const test = require('node:test')
2
+ const assert = require('node:assert/strict')
3
+ const fs = require('node:fs')
4
+ const path = require('node:path')
5
+ const vm = require('node:vm')
6
+ const ts = require('typescript')
7
+ const root = path.join(__dirname, '../harmony/react_native_gizwits_sdk_v5/src/main/ets')
8
+ const registered = new Map()
9
+ const core = { GizSDKManager: { getRegisteredDevice: id => registered.get(id) } }
10
+ const cache = new Map()
11
+ function load(name) {
12
+ if (cache.has(name)) return cache.get(name)
13
+ const source = fs.readFileSync(path.join(root, name + '.ets'), 'utf8')
14
+ const compiled = ts.transpileModule(source, { compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2020 } })
15
+ const sandbox = { exports: {}, Error, require: dep => {
16
+ if (dep === '@gizwits/smart-sdk') return core
17
+ if (dep === '@rnoh/react-native-openharmony/ets') return { EtsUITurboModule: class { __onDestroy__() {} } }
18
+ if (dep === './generated/ts') return { TM: { RNGizDeviceManagerModule: { NAME: 'RNGizDeviceManagerModule' } } }
19
+ if (dep === './GizDTOMapper') return {}
20
+ return load(dep.replace('./', ''))
21
+ } }
22
+ vm.runInNewContext(compiled.outputText, sandbox)
23
+ cache.set(name, sandbox.exports)
24
+ return sandbox.exports
25
+ }
26
+ const { GizBleRequestRegistry: Registry } = load('GizBleRequestRegistry')
27
+ const { RNGizDeviceManagerModule: Module } = load('RNGizDeviceManagerModule')
28
+ const invoke = (module, name, payload) => new Promise(resolve => module[name](payload, (error, result) => resolve(error || result)))
29
+ const tick = () => new Promise(resolve => setTimeout(resolve, 0))
30
+ test('native bridge converts seconds to milliseconds and preserves signed RSSI/UTF-8/duplicates', async () => {
31
+ const module = new Module(), calls = []
32
+ const networks = [{ ssid: '家', signalStrength: -50 }, { ssid: '家', signalStrength: -80 }]
33
+ const device = { bleCapability: { getWiFiList: async (owner, timeout) => { calls.push([owner, timeout]); return networks },
34
+ syncTime: async (owner, timeout) => { calls.push([owner, timeout]) } } }
35
+ registered.set('a', device)
36
+ assert.deepEqual(JSON.parse(JSON.stringify(await invoke(module, 'getWiFiList', { id: 'a', timeoutSeconds: 0.25 }))).data, networks)
37
+ assert.equal((await invoke(module, 'syncTime', { id: 'a' })).data, null)
38
+ assert.equal(calls[0][0], device); assert.equal(calls[0][1], 250); assert.equal(calls[1][1], 30000)
39
+ })
40
+ test('native calls also reject invalid timeouts and missing devices', async () => {
41
+ const module = new Module()
42
+ for (const timeoutSeconds of [0, -1, null, '30', Infinity, NaN, 3601]) {
43
+ assert.equal((await invoke(module, 'getWiFiList', { id: 'missing', timeoutSeconds })).error, 'E_BLE_INVALID_TIMEOUT')
44
+ }
45
+ assert.equal((await invoke(module, 'syncTime', { id: 'missing' })).success, false)
46
+ })
47
+ test('native cancellation targets its operation and settles old requests exactly once', async () => {
48
+ const module = new Module(); let release; const cancelled = []
49
+ registered.set('cancel', { bleCapability: {
50
+ getWiFiList: () => new Promise(resolve => { release = resolve }),
51
+ cancelWiFiList: () => cancelled.push('wifi'),
52
+ cancelSyncTime: () => cancelled.push('time'),
53
+ } })
54
+ const pending = invoke(module, 'getWiFiList', { id: 'cancel' })
55
+ assert.equal((await invoke(module, 'cancelSyncTime', { id: 'cancel' })).success, true)
56
+ assert.deepEqual(cancelled, [])
57
+ assert.equal((await invoke(module, 'cancelGetWiFiList', { id: 'cancel' })).data, null)
58
+ assert.equal((await pending).error, 'E_BLE_REQUEST_CANCELLED')
59
+ assert.deepEqual(cancelled, ['wifi']); release([]); await tick()
60
+ })
61
+ test('request registry rejects duplicates, isolates devices, and ignores stale replies', async () => {
62
+ const registry = new Registry(); let oldRelease, newRelease; let cancels = 0
63
+ const old = registry.run('wifi:a', () => { cancels++ }, () => new Promise(resolve => { oldRelease = resolve }))
64
+ assert.equal(JSON.parse(await registry.run('wifi:a', () => {}, async () => assert.fail())).error, 'E_BLE_REQUEST_BUSY')
65
+ assert.equal(await registry.run('wifi:b', () => {}, async () => 'other'), 'other')
66
+ registry.cancel('wifi:a'); assert.equal(JSON.parse(await old).error, 'E_BLE_REQUEST_CANCELLED')
67
+ const next = registry.run('wifi:a', () => {}, () => new Promise(resolve => { newRelease = resolve }))
68
+ oldRelease('stale'); await tick(); newRelease('fresh'); assert.equal(await next, 'fresh'); assert.equal(cancels, 1)
69
+ })
70
+ test('bridge teardown cancels native requests and blocks new work', async () => {
71
+ const module = new Module(); let cancelled = 0
72
+ registered.set('close', { bleCapability: { syncTime: () => new Promise(() => {}), cancelSyncTime: () => { cancelled++ } } })
73
+ const pending = invoke(module, 'syncTime', { id: 'close' }); module.__onDestroy__()
74
+ assert.equal((await pending).error, 'E_BLE_REQUEST_CANCELLED'); assert.equal(cancelled, 1)
75
+ assert.equal((await invoke(module, 'syncTime', { id: 'close' })).error, 'E_BLE_REQUEST_CANCELLED')
76
+ })
77
+ test('native timeout errors stay distinct from successful empty Wi-Fi lists', async () => {
78
+ const module = new Module()
79
+ registered.set('failure', { bleCapability: { getWiFiList: async () => { throw new Error('BLE operation timed out') } } })
80
+ assert.equal((await invoke(module, 'getWiFiList', { id: 'failure' })).error, 'E_BLE_REQUEST_TIMEOUT')
81
+ registered.set('empty', { bleCapability: { getWiFiList: async () => [] } })
82
+ assert.equal((await invoke(module, 'getWiFiList', { id: 'empty' })).data.length, 0)
83
+ })
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env python3
2
+ """Host regression tests for the production iOS bridge request registry."""
3
+ from pathlib import Path
4
+ import subprocess
5
+ import tempfile
6
+ root = Path(__file__).resolve().parents[1]
7
+ tests = r'''
8
+ import Foundation
9
+ final class Results {
10
+ let lock = NSLock(); var values: [[String: Any]] = []
11
+ func append(_ value: [String: Any]) { lock.lock(); values.append(value); lock.unlock() }
12
+ func snapshot() -> [[String: Any]] { lock.lock(); defer { lock.unlock() }; return values }
13
+ }
14
+ actor Gate {
15
+ var continuation: CheckedContinuation<Void, Never>?
16
+ var opened = false
17
+ func wait() async { if opened { return }; await withCheckedContinuation { continuation = $0 } }
18
+ func open() { opened = true; continuation?.resume(); continuation = nil }
19
+ }
20
+ func eventually(_ check: () -> Bool) async {
21
+ for _ in 0..<200 { if check() { return }; try? await Task.sleep(nanoseconds: 1_000_000) }
22
+ precondition(check(), "Timed out")
23
+ }
24
+ @main struct Tests {
25
+ static func main() async {
26
+ let registry = BleRequestRegistry(); let results = Results(); let old = Gate(); let next = Gate()
27
+ let started = Results()
28
+ registry.start(key: "wifi:a", reply: results.append) {
29
+ started.append(["started": true]); await old.wait(); return ["success": true, "data": "stale"]
30
+ }
31
+ await eventually { started.snapshot().count == 1 }
32
+ registry.start(key: "wifi:a", reply: results.append) { fatalError("Duplicate ran") }
33
+ precondition(results.snapshot()[0]["error"] as? String == "E_BLE_REQUEST_BUSY")
34
+ registry.start(key: "time:a", reply: results.append) { ["success": true, "data": "time"] }
35
+ registry.start(key: "wifi:b", reply: results.append) { ["success": true, "data": "other-device"] }
36
+ await eventually { results.snapshot().count == 3 }
37
+ registry.cancel(key: "wifi:a")
38
+ precondition(results.snapshot().last?["error"] as? String == "E_BLE_REQUEST_CANCELLED")
39
+ registry.start(key: "wifi:a", reply: results.append) { await next.wait(); return ["success": true, "data": "new"] }
40
+ await old.open(); try? await Task.sleep(nanoseconds: 10_000_000)
41
+ precondition(results.snapshot().count == 4)
42
+ await next.open(); await eventually { results.snapshot().count == 5 }
43
+ precondition(results.snapshot().last?["data"] as? String == "new")
44
+ registry.cancel(key: "wifi:a"); precondition(results.snapshot().count == 5)
45
+ let closed = Gate()
46
+ registry.start(key: "time:a", reply: results.append) { await closed.wait(); return ["success": true] }
47
+ registry.close(); await closed.open(); try? await Task.sleep(nanoseconds: 10_000_000)
48
+ precondition(results.snapshot().count == 5)
49
+ registry.start(key: "wifi:a", reply: results.append) { fatalError("Closed registry ran") }
50
+ precondition(results.snapshot().last?["error"] as? String == "E_NATIVE_MODULE_UNAVAILABLE")
51
+ for _ in 0..<100 {
52
+ let instance = BleRequestRegistry(); let output = Results()
53
+ instance.start(key: "time:a", reply: output.append) { ["success": true] }
54
+ instance.cancel(key: "time:a")
55
+ await eventually { output.snapshot().count == 1 }
56
+ try? await Task.sleep(nanoseconds: 100_000)
57
+ precondition(output.snapshot().count == 1)
58
+ instance.close()
59
+ }
60
+ print("iOS BLE registry passed: duplicates, device/operation isolation, cancellation, stale replies, teardown and 100 completion/cancel races")
61
+ }
62
+ }
63
+ '''
64
+ with tempfile.TemporaryDirectory(prefix='rn-ble-swift-') as d:
65
+ p=Path(d);(p/'Tests.swift').write_text(tests)
66
+ subprocess.run(['swiftc','-swift-version','5','-module-cache-path',str(p/'cache'),str(root/'ios/BleRequestRegistry.swift'),str(p/'Tests.swift'),'-o',str(p/'test')],check=True)
67
+ subprocess.run([str(p/'test')],check=True)