diff --git a/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt index c157ab3..f085e50 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt @@ -123,10 +123,15 @@ class HomeFragment : BaseFragment() { // 主动获取当前电量 initBatteryStatus() - // 先加载统计数据(设好 lastStats 基准),再监听事件 - // EventBus buffer=64 会暂存期间的通知,不丢失 + // 先用缓存数据填充(避免 "0" → 真实值的闪烁) + notificationManager.lastStats?.let { cached -> + updateCardNum(tvPoolNum, cached.waitForTask) + updateCardNum(tvPunchNum, cached.treatTask) + updateCardNum(tvCompleteNum, cached.incompleteTask) + } + + // 再异步请求最新数据,静默更新 viewLifecycleOwner.lifecycleScope.launch { - // 同步等待统计数据返回 val result = safeApiCall { taskApi.getStatistics() } if (result is ApiResult.Success && result.data != null) { val data = result.data @@ -134,7 +139,6 @@ class HomeFragment : BaseFragment() { updateCardNum(tvPunchNum, data.treatTask) updateCardNum(tvCompleteNum, data.incompleteTask) notificationManager.lastStats = data - Timber.d("首页: lastStats 基准已设置 ${data}") } // 基准设好后再开始监听事件