km2023
f7e1a4769f
docs(readme): 初始化 SDK 示例补齐所有默认值注释行(对齐 iOS)
...
之前只列了 3 个必填 + logLevel,apiHost / cdnHost / ani* / frameIntervalMs
四组默认值的注释行漏了,与 iOS README 不对齐。补齐 + 把 brand /
scanNamePrefix 措辞改成与 iOS 一致("必填,Loomart x-api-key" /
"设备品牌名(所有 RPC 必带 x-owner header)" / "大小写不敏感")。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 16:28:41 +08:00
km2023
6bdfa4d39a
feat(sdk): 同步 iOS — 日志等级 logLevel 配置化(默认 OFF)
...
BleLog 之前所有调用都无条件 Log.d/i/w/e,集成方没法关。新增
public enum BleLogLevel(OFF/ERROR/WARN/INFO/DEBUG),通过
DuooomiBleConfig.logLevel 传入,DuooomiBleSDK init 块第一行写入
BleLog.level。默认 OFF 保证对外集成默认静默。
frameIntervalMs 越界 warn 从 DuooomiBleConfig.init 挪到
DuooomiBleSDK init 内、level 设置之后,避免在 level 写入前丢日志。
平台差异:Android 没有 iOS 的 #if DEBUG 编译期消除;默认 OFF 已足够
静默,如需硬剥离 android.util.Log 可在宿主 ProGuard/R8 加
-assumenosideeffects(README 已说明)。
对齐 ios:6ed3c55。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 16:04:27 +08:00
km2023
f686fa0b95
docs(readme): 补「汇总:可用方法与属性」段(对齐 iOS README)
...
iOS README 早前已加该段,Android 漏对齐 → 双端契约文档不对称。
补齐 17 个 public 方法 + 14 个公开属性表格。
形态差异已标注:suspend vs callback、StateFlow vs delegate。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 14:51:45 +08:00
km2023
7d8b0eaf94
docs(readme): 补 frameIntervalMs 参数说明(默认 35ms,[0,500] clamp)
...
同步 iOS README 改动;Config 字段表新增 frameIntervalMs 一行。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 14:35:47 +08:00
km2023
69435512d5
feat(sdk): 同步 iOS — upgradeFirmware 下发前校验电量 ≥40%,不足抛 BatteryTooLow
...
1:1 复刻 iOS:OTA 烧录前主动 getDeviceInfo 取实时电量,<40% 抛
DuooomiBleError.BatteryTooLow(current,required)、不发任何字节。
错误消息字符串与 iOS 逐字一致;新增 MIN_BATTERY_FOR_UPGRADE=40。
协程版线性实现(无 callback 拆分)。README 同步错误处理/升级段。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-19 17:19:34 +08:00
km2023
8d83588e0b
feat(sdk): 绑定时上报设备 log 到 update-metadata 并内聚双层绑定
...
1:1 复刻 iOS commit 4bc8fdb。
- bind(userId) 内聚为硬绑 + getVersion + 软绑 + updateMetadata 一次原子调用,
软绑失败自动硬解绑回滚 + 清状态;集成方无需感知双层绑定
- fetchLatestFirmware 简化为对账上报 + checkUpgrade 两步,不再重复软绑
- VersionInfo 增加 log: JSONObject?,fromJson 用 optJSONObject 解析;
SDK 暴露只读 versionLog: StateFlow<JSONObject?>,断连/解绑/软绑回滚时清空
- ShipmentSnDeviceService 新增 updateMetadata(sn, data: JSONObject),
HttpHelper.post 已支持 JSONObject 作为 body 子节点透传
- 老固件不返回 log → versionLog == null → 自动跳过 updateMetadata,前向兼容
- 同步更新 .wiki/tech-architecture.md(状态清理表 + OTA 编排图)
+ product-decisions.md(新增决策条目)+ README.md(versionLog 状态)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 16:38:03 +08:00
km2023
e63865092c
feat(sdk): 同步 iOS 改动 — owner→brand 重命名 + 硬绑前 brand 校验 + README 内部细节抹除
...
- DuooomiBleConfig.owner → brand(语义:设备品牌名),HTTP header x-owner 不变
- bind() 前置 verifyBrand:缺 deviceInfo 先 getDeviceInfo,与 config.brand 严格匹配,
不一致主动 disconnect 并抛 DuooomiBleError.BrandMismatch
- README 抹除软绑/对账/UpgradeRecord 等内部实现细节,仅保留厂商面向的公开 API
(功能代码完全保留:fetchLatestFirmware 内部三段串、unbind 软解、tryReportPendingUpgrade)
- README 顶部加 demo 优先验证提示
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 12:03:26 +08:00
km2023
65ff905889
docs: README 重写,对齐新 OTA 流程
...
- 删除已下线的 firmwareIdentifier/firmwareStatus / hasNewerFirmware 文档
- 增加完整 OTA 三段式示例:bind → fetchLatestFirmware → upgradeFirmware
- 增加升级对账上报状态判定表(reported/outcome 四种状态)
- 增加 setPlayMode / Config owner+scanNamePrefix 必填字段说明
- 增加错误类型完整列表(含新增 AlreadyBoundByOtherUser /
SoftBindFailed / FirmwareUpgradeUnavailable)
- 增加服务端 endpoint 表 + BeijingTimeProvider 三级 fallback 说明
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 15:43:44 +08:00
km2023
ed34c59c35
feat: 增加媒体格式校验,支持 JPEG、PNG、GIF、MP4、WebM、WebP 格式
2026-04-20 16:19:10 +08:00
km2023
1dcae6e2f1
feat: 降低 SDK 最低兼容版本,支持 Kotlin 1.9.0 / AGP 7.4.2 / minSdk 23
...
SDK minSdk 26→23,jvmTarget 17→11,确保老版本项目可消费 AAR。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-17 16:45:39 +08:00
km2023
1bcf838a15
feat: apiHost 改为 api.duooomi.com,ANI 转换参数可配置
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-16 14:26:18 +08:00
km2023
18c6f5e098
fix:sdk增加判断是否需要更新的方法
2026-04-13 18:36:59 +08:00
km2023
d655b13416
feat: implement Android BLE SDK with demo app
...
Complete Android port of duooomi-ios-sdk with 1:1 API parity.
Includes SDK library module and Jetpack Compose demo app.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-13 12:09:22 +08:00