From 43ca59544eae7b111974d063d918c9b161e63138 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 22 Sep 2018 10:49:50 +0200 Subject: [PATCH] adding the default event reminder buttons in the app settings --- .../calendar/activities/SettingsActivity.kt | 50 +++++++ .../calendar/helpers/Config.kt | 16 +++ .../calendar/helpers/Constants.kt | 4 + app/src/main/res/layout/activity_settings.xml | 128 ++++++++++++++++++ app/src/main/res/values-az/strings.xml | 2 +- app/src/main/res/values-br/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-gl/strings.xml | 2 +- app/src/main/res/values-hi-rIN/strings.xml | 2 +- app/src/main/res/values-hr/strings.xml | 2 +- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-no/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 33 files changed, 227 insertions(+), 29 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt index cec36f671..9019cfdb9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt @@ -63,6 +63,10 @@ class SettingsActivity : SimpleActivity() { setupUseSameSnooze() setupLoopReminders() setupSnoozeTime() + setupDefaultReminder() + setupDefaultReminder1() + setupDefaultReminder2() + setupDefaultReminder3() setupDisplayPastEvents() setupFontSize() setupCustomizeWidgetColors() @@ -387,6 +391,52 @@ class SettingsActivity : SimpleActivity() { settings_snooze_time.text = formatMinutesToTimeString(config.snoozeTime) } + private fun setupDefaultReminder() { + settings_use_default_reminder.isChecked = config.useDefaultReminder + toggleDefaultRemindersVisibility(!config.useDefaultReminder) + settings_use_default_reminder_holder.setOnClickListener { + settings_use_default_reminder.toggle() + config.useDefaultReminder = settings_use_default_reminder.isChecked + toggleDefaultRemindersVisibility(!settings_use_default_reminder.isChecked) + } + } + + private fun setupDefaultReminder1() { + settings_default_reminder_1.text = getFormattedMinutes(config.defaultReminder1) + settings_default_reminder_1_holder.setOnClickListener { + showPickSecondsDialogHelper(config.defaultReminder1) { + config.defaultReminder1 = if (it <= 0) it else it / 60 + settings_default_reminder_1.text = getFormattedMinutes(config.defaultReminder1) + } + } + } + + private fun setupDefaultReminder2() { + settings_default_reminder_2.text = getFormattedMinutes(config.defaultReminder2) + settings_default_reminder_2_holder.setOnClickListener { + showPickSecondsDialogHelper(config.defaultReminder2) { + config.defaultReminder2 = if (it <= 0) it else it / 60 + settings_default_reminder_2.text = getFormattedMinutes(config.defaultReminder2) + } + } + } + + private fun setupDefaultReminder3() { + settings_default_reminder_3.text = getFormattedMinutes(config.defaultReminder3) + settings_default_reminder_3_holder.setOnClickListener { + showPickSecondsDialogHelper(config.defaultReminder3) { + config.defaultReminder3 = if (it <= 0) it else it / 60 + settings_default_reminder_3.text = getFormattedMinutes(config.defaultReminder3) + } + } + } + + private fun toggleDefaultRemindersVisibility(show: Boolean) { + arrayOf(settings_default_reminder_1_holder, settings_default_reminder_2_holder, settings_default_reminder_3_holder).forEach { + it.beVisibleIf(show) + } + } + private fun getHoursString(hours: Int) = String.format("%02d:00", hours) private fun setupDisplayPastEvents() { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt index a5d17c122..ac4cb4f93 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt @@ -142,4 +142,20 @@ class Config(context: Context) : BaseConfig(context) { private fun getSmallFontSize() = getMediumFontSize() - 3f private fun getMediumFontSize() = context.resources.getDimension(R.dimen.day_text_size) / context.resources.displayMetrics.density private fun getLargeFontSize() = getMediumFontSize() + 3f + + var useDefaultReminder: Boolean + get() = prefs.getBoolean(USE_DEFAULT_REMINDER, true) + set(useDefaultReminder) = prefs.edit().putBoolean(USE_DEFAULT_REMINDER, useDefaultReminder).apply() + + var defaultReminder1: Int + get() = prefs.getInt(DEFAULT_REMINDER_1, 10) + set(defaultReminder1) = prefs.edit().putInt(DEFAULT_REMINDER_1, defaultReminder1).apply() + + var defaultReminder2: Int + get() = prefs.getInt(DEFAULT_REMINDER_2, REMINDER_OFF) + set(defaultReminder2) = prefs.edit().putInt(DEFAULT_REMINDER_2, defaultReminder2).apply() + + var defaultReminder3: Int + get() = prefs.getInt(DEFAULT_REMINDER_3, REMINDER_OFF) + set(defaultReminder3) = prefs.edit().putInt(DEFAULT_REMINDER_3, defaultReminder3).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt index 0b9c3ef73..c9f0ac49c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt @@ -58,6 +58,10 @@ const val DIM_PAST_EVENTS = "dim_past_events" const val LAST_SOUND_URI = "last_sound_uri" const val LAST_REMINDER_CHANNEL_ID = "last_reminder_channel_ID" const val REMINDER_AUDIO_STREAM = "reminder_audio_stream" +const val USE_DEFAULT_REMINDER = "use_default_reminder" +const val DEFAULT_REMINDER_1 = "default_reminder_1" +const val DEFAULT_REMINDER_2 = "default_reminder_2" +const val DEFAULT_REMINDER_3 = "default_reminder_3" // repeat_rule for monthly and yearly repetition const val REPEAT_SAME_DAY = 1 // i.e. 25th every month, or 3rd june (if yearly repetition) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 0d9dad67c..f48e88328 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -360,6 +360,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zəng Bildiriş Zəng səsi - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index 53bed0e7f..d5a39e646 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index a25623068..2528a6279 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -164,7 +164,7 @@ Budík Notifikace Zvonek - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index b0befb0d7..a0167517a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -164,7 +164,7 @@ Alarm Notifikation Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9fafd7ede..08f752519 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -164,7 +164,7 @@ Wecker Benachrichtigung Klingelton - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 63b3ad225..c6d0063db 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -164,7 +164,7 @@ Αφύπνιση Ειδοποίηση Κουδούνισμα - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index a3cc81059..7c934da9b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f41267b07..3b18c01cc 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -164,7 +164,7 @@ Alarme Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index d398ec883..95dfb74f9 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 35c0688c2..df9cd6e84 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -165,7 +165,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index e7193c974..1d01d8125 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -164,7 +164,7 @@ Alarm Obavijest Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 11e052a78..e4865bb1a 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 6464207f3..fa56df194 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 2cecc9678..c4cf548bc 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -165,7 +165,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f76eaaf2e..1235467b0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 585e2a34c..5e86f0cd4 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index a0a40d2f8..eceb4638b 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 722c9b28a..f99b1fd43 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -164,7 +164,7 @@ Alarm Varsel Ringetone - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index ccffc6dde..470b8d12a 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -164,7 +164,7 @@ Alarm Notificatie Beltoon - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index 40b2fea05..b25f954a6 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 2a50b7159..665cdc663 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -164,7 +164,7 @@ Alarm Powiadomienie Dzwonek - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 8b7d7675a..9266006e7 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -164,7 +164,7 @@ Alarme Notificação Toque - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index a14d6578a..ebe4bf2a6 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -164,7 +164,7 @@ Alarme Notificação Toque - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index e27db0ba8..8e4cdf024 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -164,7 +164,7 @@ Будильник Уведомление Звонок - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index af400305e..f96575ad2 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -164,7 +164,7 @@ Výstražný Pripomienkový Zvoniaci - Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť + Použiť pripomienky poslednej udalosti ako predvolené pre novú udalosť Predvolená pripomienka 1 Predvolená pripomienka 2 Predvolená pripomienka 3 diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 095fd18af..a389db76f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -164,7 +164,7 @@ Alarm Avisering Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index bbd71b059..290599b50 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -164,7 +164,7 @@ Alarm Bildirim Zil sesi - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 507416f87..4ad4aae7b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -164,7 +164,7 @@ 鬧鐘 通知 鈴聲 - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fef72f85a..cc93903be 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -164,7 +164,7 @@ Alarm Notification Ring - Use the last events\' reminders as the default for new event + Use the last events\' reminders as the default for new event Default reminder 1 Default reminder 2 Default reminder 3