fix: 补回recordCardIncrement,点红点后pendingCount正确扣减

问题:recordCardIncrement调用被之前简化代码时删掉了,
导致_cardIncrements为空→acknowledgedCount=0→pendingCount不减。

修复:在diffStats后对每个changed分类记录增量,
这样acknowledgeCard后pendingCount能正确扣减。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-04-29 20:31:32 +09:30
parent 8ef170051a
commit 31630b247f

View File

@@ -373,6 +373,14 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
Timber.d("首页: diffStats changed=$changed, ack=$ack, activeDots=$activeDotCards") Timber.d("首页: diffStats changed=$changed, ack=$ack, activeDots=$activeDotCards")
for (status in changed) { for (status in changed) {
if (status !in ack) activeDotCards.add(status) 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 { } else {
Timber.d("首页: baseline为null兜底显示所有有值的红点") Timber.d("首页: baseline为null兜底显示所有有值的红点")