From 6613962fa094d133437b96cf9e6febf96a5cdd04 Mon Sep 17 00:00:00 2001 From: Thibaut Meyer Date: Tue, 17 May 2022 23:23:29 +0200 Subject: [PATCH] added reminders for repeated notes --- .../java/com/orgzly/android/prefs/AppPreferences.java | 11 +++++++++++ .../com/orgzly/android/reminders/ReminderService.kt | 7 +++++-- app/src/main/res/values/prefs_keys.xml | 3 +++ app/src/main/res/values/strings.xml | 3 +++ app/src/main/res/xml-v26/prefs_screen_reminders.xml | 6 ++++++ app/src/main/res/xml/prefs_screen_reminders.xml | 6 ++++++ 6 files changed, 34 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/orgzly/android/prefs/AppPreferences.java b/app/src/main/java/com/orgzly/android/prefs/AppPreferences.java index e3024e6c5..49bff6f5b 100644 --- a/app/src/main/java/com/orgzly/android/prefs/AppPreferences.java +++ b/app/src/main/java/com/orgzly/android/prefs/AppPreferences.java @@ -324,6 +324,17 @@ public static void reminderDailyTime(Context context, int value) { getDefaultSharedPreferences(context).edit().putInt(key, value).apply(); } + public static boolean remindersForRepeatedNotesEnabled(Context context) { + return getDefaultSharedPreferences(context).getBoolean( + context.getResources().getString(R.string.pref_key_use_reminders_for_repeated_notes), + context.getResources().getBoolean(R.bool.pref_default_use_reminders_for_repeated_notes)); + } + + public static void remindersForRepeatedNotesEnabled(Context context, boolean value) { + String key = context.getResources().getString(R.string.pref_key_use_reminders_for_repeated_notes); + getDefaultSharedPreferences(context).edit().putBoolean(key, value).apply(); + } + public static boolean showSyncNotifications(Context context) { return getDefaultSharedPreferences(context).getBoolean( context.getResources().getString(R.string.pref_key_show_sync_notifications), diff --git a/app/src/main/java/com/orgzly/android/reminders/ReminderService.kt b/app/src/main/java/com/orgzly/android/reminders/ReminderService.kt index fc1e1e92d..32e811eac 100644 --- a/app/src/main/java/com/orgzly/android/reminders/ReminderService.kt +++ b/app/src/main/java/com/orgzly/android/reminders/ReminderService.kt @@ -266,8 +266,10 @@ class ReminderService : JobIntentService() { } else { null } - + // ########## This is where it's important + // ########## Have the time here being the time of the next occurence val time = getFirstTime( + context, orgDateTime, interval, AppPreferences.reminderDailyTime(context), @@ -386,6 +388,7 @@ class ReminderService : JobIntentService() { } private fun getFirstTime( + context: Context, orgDateTime: OrgDateTime, interval: Pair, defaultTimeOfDay: Int, @@ -396,7 +399,7 @@ class ReminderService : JobIntentService() { interval.first, interval.second, defaultTimeOfDay, - false, // Do not use repeater for reminders + AppPreferences.remindersForRepeatedNotesEnabled(context), warningPeriod, 1) diff --git a/app/src/main/res/values/prefs_keys.xml b/app/src/main/res/values/prefs_keys.xml index 00a2b3b50..9842ac155 100644 --- a/app/src/main/res/values/prefs_keys.xml +++ b/app/src/main/res/values/prefs_keys.xml @@ -240,6 +240,9 @@ 540 + pref_key_use_reminders_for_repeated_notes + false + pref_key_auto_sync diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 735b29910..45d17af75 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -477,6 +477,9 @@ Daily reminder time + Repeated notes + Display notifications for occurrences of repeated notes + Main storage Notebook exported to %s diff --git a/app/src/main/res/xml-v26/prefs_screen_reminders.xml b/app/src/main/res/xml-v26/prefs_screen_reminders.xml index b62342fa4..a92dd1cc5 100644 --- a/app/src/main/res/xml-v26/prefs_screen_reminders.xml +++ b/app/src/main/res/xml-v26/prefs_screen_reminders.xml @@ -27,6 +27,12 @@ android:key="@string/pref_key_daily_reminder_time" android:title="@string/pref_title_daily_reminder_time" /> + + + +