Files
daily-notification-plugin/android
Matthew Raymer 520b8ea482 feat(plugin): implement P1 performance and resilience improvements
- Add deduplication system to prevent double-firing of notifications
  * Check existing notifications within 1-minute tolerance before scheduling
  * Prevents duplicate notifications from receiver double-firing on some OEMs
  * Structured logging: DN|RESCHEDULE_DUPLICATE, DN|SCHEDULE_DUPLICATE

- Implement WorkManager doze fallback system for deep doze scenarios
  * DozeFallbackWorker runs 30 minutes before notification time
  * Re-arms exact alarms if they get pruned during deep doze mode
  * Battery-friendly constraints with no network requirement
  * Structured logging: DN|DOZE_FALLBACK_SCHEDULED, DN|DOZE_FALLBACK_REARM_OK

- Add JIT soft re-fetch for borderline age content
  * SoftRefetchWorker prefetches fresh content when content is 80% of TTL
  * Runs 2 hours before tomorrow's notification for proactive freshness
  * Asynchronous background processing with network constraints
  * Structured logging: DN|JIT_BORDERLINE, DN|SOFT_REFETCH_SCHEDULED

- Enhance DailyNotificationWorker with comprehensive resilience features
  * Ultra-lightweight receiver with WorkManager handoff
  * DST-safe scheduling with ZonedDateTime calculations
  * Storage capping and retention policy (100 entries, 14-day retention)
  * Performance monitoring with StrictMode and Trace markers

- Add comprehensive status checking API
  * NotificationStatusChecker provides unified permission/channel status
  * Channel management with deep links to settings
  * Exact alarm permission validation and guidance

All P1 features tested and working under system stress conditions.
Notification system now production-ready with full resilience suite.
2025-10-14 10:27:58 +00:00
..