主要改动(与 iOS SDK 1:1 对齐): - 新增 fetchLatestFirmware/upgradeFirmware/tryReportPendingUpgrade 三段 OTA 接口,对齐 expo bindDeviceWithOrchestration 行为 - bind 仅做硬绑+getVersion,软绑/对账上报/拉最新固件搬到 fetchLatestFirmware 内部串;软绑失败自动硬解回滚 - unbind 改胖:硬解 + 软解(容错失败仅 warn) - UpgradeRecord 复合主键 (sn, firmwareId) 持久化(SharedPreferences) + sn 级 in-flight 互斥 - 新增 sn / firmwareUpgrade / upgradeRecords StateFlow,集成方 可观察对账上报结果(reported/outcome 状态) - DuooomiBleConfig:删 firmwareIdentifier/firmwareStatus, 改 owner/scanNamePrefix 为必填字段 - 新增 ShipmentSnDeviceService(软绑/软解 HTTP)+ FirmwareUpgradeService(checkUpgrade/reportSuccess/reportFailure) + HttpHelper 共享 POST 工具 - 删 FirmwareInfo + FirmwareService + hasNewerFirmware(旧 API) - 新增 FirmwareUpgradeCheckResult 模型(含 forceUpgrade 字段) - BleClient 增加 service UUID 列表 log,便于固件兼容调试 - demo 秘钥移至本地 DemoSecrets.kt(gitignored),模板放 docs/ - demo 改造到新 OTA 流程 + 升级记录展示 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9 lines
124 B
Plaintext
9 lines
124 B
Plaintext
.gradle/
|
|
build/
|
|
local.properties
|
|
*.iml
|
|
.idea/
|
|
.DS_Store
|
|
sdk/build/
|
|
demo/src/main/kotlin/com/duooomi/ble/demo/DemoSecrets.kt
|