From 31630b247ffa6f16b6daa3acae627ed3f1b6fa21 Mon Sep 17 00:00:00 2001 From: dongliang Date: Wed, 29 Apr 2026 20:31:32 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E5=9B=9ErecordCardIncrement?= =?UTF-8?q?=EF=BC=8C=E7=82=B9=E7=BA=A2=E7=82=B9=E5=90=8EpendingCount?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E6=89=A3=E5=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:recordCardIncrement调用被之前简化代码时删掉了, 导致_cardIncrements为空→acknowledgedCount=0→pendingCount不减。 修复:在diffStats后对每个changed分类记录增量, 这样acknowledgeCard后pendingCount能正确扣减。 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../main/java/com/xiaoqu/watch/ui/home/HomeFragment.kt | 8 ++++++++ 1 file changed, 8 insertions(+) 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 e89a2db..9669700 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 @@ -373,6 +373,14 @@ class HomeFragment : BaseFragment() { Timber.d("首页: diffStats changed=$changed, ack=$ack, activeDots=$activeDotCards") for (status in changed) { if (status !in ack) activeDotCards.add(status) + // 记录每个分类的增量(供 acknowledgeCard 扣减 pendingCount 用) + val increment = when (status) { + 2 -> data.waitForTask - baseline.waitForTask + 3 -> data.treatTask - baseline.treatTask + 4 -> data.incompleteTask - baseline.incompleteTask + else -> 0 + } + notificationManager.recordCardIncrement(status, increment) } } else { Timber.d("首页: baseline为null,兜底显示所有有值的红点")