fix(sdk-update): awaitInitialization 同时等待远程平台配置完成

确保 bugCollectEnabled 等远程配置字段在 checkAppUpdate 执行前已生效,
避免 captureError 因 isReady()=false 静默丢弃异常。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-17 13:30:19 +08:00
父节点 12bff04e0e
当前提交 a36097fcdb

查看文件

@ -213,7 +213,7 @@ object UpdateSDK {
} }
private suspend fun awaitInitialization() { private suspend fun awaitInitialization() {
if (XuqmSDK.isInitialized()) return if (!XuqmSDK.isInitialized()) {
Log.w("UpdateSDK", "XuqmSDK not yet initialized, waiting up to 15s...") Log.w("UpdateSDK", "XuqmSDK not yet initialized, waiting up to 15s...")
kotlinx.coroutines.withTimeoutOrNull(15_000L) { kotlinx.coroutines.withTimeoutOrNull(15_000L) {
while (!XuqmSDK.isInitialized()) { while (!XuqmSDK.isInitialized()) {
@ -224,6 +224,11 @@ object UpdateSDK {
Log.e("UpdateSDK", msg) Log.e("UpdateSDK", msg)
throw IllegalStateException(msg) throw IllegalStateException(msg)
} }
}
// 等待远程平台配置拉取完成bugCollectEnabled 等字段在此之后才生效)
kotlinx.coroutines.withTimeoutOrNull(10_000L) {
runCatching { XuqmSDK.awaitInitialization() }
}
Log.d("UpdateSDK", "XuqmSDK initialized, proceeding with update check") Log.d("UpdateSDK", "XuqmSDK initialized, proceeding with update check")
} }