fix: 流程对齐 iOS 严格 1:1(disconnect 不清 sn/firmwareUpgrade)

发现并修正以下 1:1 复刻偏离:

1. SDK:disconnect 行为
   - iOS:被动断开 / 主动 disconnect 都 **不清** sn / firmwareUpgrade
     · sn 仅在 unbind 成功 / fetchLatestFirmware 软绑失败回滚时清空
     · firmwareUpgrade 仅在 fetchLatestFirmware 成功时覆盖
   - 之前 Android 在两个 disconnect 入口都清,与 iOS 不一致;现已修正

2. Demo:otaFetchUserId / otaFetchSn 进入页面时的初始化
   - iOS:onAppear 时同步默认 userId / 当前 sdk.sn 到字段
   - Android:之前 bind 后才填,进入页面默认空;现已与 iOS 对齐

3. Demo:ConfigField 禁用自动大写 / 自动纠错
   - iOS 用 .autocapitalization(.none).disableAutocorrection(true)
   - Android 加 KeyboardOptions(autoCorrect=false, capitalization=None)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
km2023
2026-05-08 16:38:37 +08:00
parent 417012c49f
commit 0dbfab9519
2 changed files with 19 additions and 10 deletions

View File

@@ -100,11 +100,12 @@ class DuooomiBleSDK(context: Context, val config: DuooomiBleConfig) {
_deviceInfo.value = null
_version.value = ""
_isActivated.value = false
_sn.value = ""
_firmwareUpgrade.value = null
_btState.value = ConnectionState.DISCONNECTED
protocolService.stopListening()
cancelAllPending(DuooomiBleError.NotConnected)
// 与 iOS 一致sn / firmwareUpgrade 不在断开时重置
// —— sn 仅在 unbind 成功 / fetchLatestFirmware 软绑失败回滚时清空
// —— firmwareUpgrade 仅在 fetchLatestFirmware 成功时覆盖
}
}
}
@@ -198,8 +199,6 @@ class DuooomiBleSDK(context: Context, val config: DuooomiBleConfig) {
_deviceInfo.value = null
_version.value = ""
_isActivated.value = false
_sn.value = ""
_firmwareUpgrade.value = null
_btState.value = ConnectionState.DISCONNECTED
BleLog.i("Disconnected", "Connect")