主要改动(与 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>
124 B
124 B