dongliang
58ef336df4
fix: 用通知前快照精确显示红点(区分首页/非首页场景)
问题:非首页返回时,onViewCreated已覆盖lastStats,
导致diffStats对比不出差异,红点要么全显要么不显。
修复:
1. NotificationManager新增preNotificationStats
- 首条通知到达时保存当前lastStats快照
- consumeAll时清除
- 不会被onViewCreated的fetchStatistics覆盖
2. HomeFragment.onResume用preNotificationStats做精确diffStats
- 有快照→fetchStatisticsForDots(baseline, acknowledged)
- 只给变化且未查看的分类显示红点
- 无快照→降级为全显(未查看的)
场景验证:
- 首页收到通知→当场diffStats→红点精确 ✅
- 首页点红点→对应消除,其他保留 ✅
- 首页点通知→consumeAll→返回后全部消除 ✅
- 非首页返回→preNotificationStats对比→红点精确 ✅
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 16:59:56 +09:30
..
2026-04-27 11:26:50 +09:30
2026-04-29 16:59:56 +09:30
2026-04-29 15:27:06 +09:30