fix(sdk): 同步 iOS — transferMedia 入口立即把 _transferProgress 归零
旧实现里 _transferProgress 只在 transferFile() 内部才置 0,但 transferMedia 要先走 validateMediaFormat → aniConverter.convert → prepareTransfer 这条数秒级异步链,期间 StateFlow 还停留在上次结束 的 100。集成方一 collect 就看到旧值 100,体感像「上次进度被带过来」。 修法:transferMedia 在 ensureConnected() 后立即 _transferProgress.value = 0, collector 立即收到 0;后续 transferFile() 内的 = 0 因 StateFlow 的 distinct-value 语义被天然跳过。 对齐 ios:ed7de42。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -500,6 +500,7 @@ class DuooomiBleSDK(context: Context, val config: DuooomiBleConfig) {
|
|||||||
|
|
||||||
suspend fun transferMedia(fileUrl: String) {
|
suspend fun transferMedia(fileUrl: String) {
|
||||||
ensureConnected()
|
ensureConnected()
|
||||||
|
_transferProgress.value = 0
|
||||||
val url = fileUrl.trim()
|
val url = fileUrl.trim()
|
||||||
if (url.isEmpty()) throw DuooomiBleError.TransferFailed("Empty file URL")
|
if (url.isEmpty()) throw DuooomiBleError.TransferFailed("Empty file URL")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user