Song Eric Yu Li
Song Eric Yu Li
Thanks Ashish! I've added some try-catch blocks to handle corrupt JSON strings and added a few unit tests to test that behaviour.
- Added getAllDeckSpecificRemindersGrouped - Refactored getAllDeckSpecificReminders and editAllDeckSpecificReminders to use it
- Replaced `List` with `HashMap` to make editing individual review reminders more efficient - Added two utility methods to `ReviewRemindersDatabase` to flatten and group maps of review reminders - Updated...
- Added the `enabled` property to `ReviewReminder`
Thanks for the reviews. @SanjaySargam Regarding whether review reminders should remain in SharedPreferences after the corresponding deck is deleted: no, they should not, and don't worry, it's on my to-do...
- Added try-catch for JSON encoding - Created a `APP_WIDE_REMINDER_DECK_ID` constant - Added `ReviewReminderTime` and `SnoozeAmount` classes - Cleaned up references to `context.sharedPrefs()` to instead use `Prefs` or `AnkiDroidApp.sharedPrefs()` -...
- Used an inline value class for `ReviewReminderId`, modified `ReviewReminderTest` accordingly - Modified `ReviewReminderTime`'s methods to better use the Duration API - Modified `ReviewReminderCardTriggerThreshold` to be an inline value class...
- Rebased on main - Fixed a bug where migrated review reminder HashMaps would have incorrect, unmigrated keys; unit tests to check for this have been developed but will be...
- Rebased on main - Fixed typo: Added the missing `enabled` param to the docstring of `ReviewReminder` - Tweaked a few tests to validate manually passing the optional `enabled` field...
- Moved `getAndIncrementNewFreeReminderId` to ReviewReminderId - Modified `require` clauses of ReviewReminderSnoozeAmount - Renamed `timeInterval` property of ReviewReminderSnoozeAmount to `interval` - Added more documentation to the docstrings of ReviewReminderSnoozeAmount and `ReviewReminderScope.DeckSpecific.getDeckName`...