fix(sdk): transferMedia 入口立即把 transferProgress 归零

旧实现里 transferProgress 只在 transferFile() 内部才置 0,但
transferMedia 要先走 validateMediaFormat → aniConverter.convert →
getRemoteFileSize → prepareTransfer 这条数秒级异步链,期间字段还停
留在上次结束的 100。集成方 UI 一接上观察就看到旧值 100,体感像「上
次进度被带过来」。

修法:transferMedia 在 connectedDevice 守卫通过后立即 transferProgress = 0,
delegate 立即收到 didUpdateProgress(0);后续 transferFile() 内部的 = 0
因 didSet 的 oldValue 守卫被自然跳过,不会重复广播。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
km2023
2026-05-20 16:02:41 +08:00
parent 6ed3c555df
commit ed7de42e61

View File

@@ -73,6 +73,7 @@ extension DuooomiBleSDK {
completion(.failure(DuooomiBleError.notConnected))
return
}
transferProgress = 0
let url = fileUrl.trimmingCharacters(in: .whitespacesAndNewlines)
guard !url.isEmpty else {
completion(.failure(DuooomiBleError.transferFailed("Empty file URL")))