mirror of
https://github.com/avinal/nikki.git
synced 2026-07-03 21:40:09 +05:30
0512c9a69838e6359bc2a6ce3b2e56b6c4f3e8c2
reliable alarm scheduling Auto sync: - Configurable interval: 1/2/5/10/15/30/60 min (default 5) - MemoRepository.syncIntervalMinutes updated live from DataStore - Setting shown under "memos" section in settings Notifications by priority: - p1: 🔴 alarm sound, long vibration, wakes screen, bypasses DND - p2: 🟠 notification sound, medium vibration, heads-up - p3: 🔵 notification sound, short vibration - none: silent, no vibration - BigTextStyle with priority tag, colored accent bar - 4 separate Android notification channels Background reliability: - FOREGROUND_SERVICE, WAKE_LOCK, REQUEST_IGNORE_BATTERY_OPTIMIZATIONS - Battery optimization exemption requested on first launch - DirectAlarmScheduler: schedules alarms directly from app process using live Room data (bypasses WorkManager DB sync issue) - onContentChanged fires direct scheduling on every memo create/update - TaskReminderReceiver moved to androidApp module for reliable cold-start instantiation - WorkManager kept as 15-min backup for server-side changes 123 tests passing. Co-Authored-By: Claude Opus 4.6 (1M context) Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
Description
Languages
Kotlin
100%