From 8d04521a480a3e1862806540eaa86c513acdb724 Mon Sep 17 00:00:00 2001 From: Futsch1 <63090558+Futsch1@users.noreply.github.com> Date: Tue, 5 May 2026 20:24:45 +0200 Subject: [PATCH] Increase maximum interval duration to 365 days and add a "weeks" unit --- .../com/futsch1/medtimer/helpers/Interval.kt | 9 +++++++-- .../medicine/editors/IntervalEditor.kt | 4 +++- .../main/res/layout/dialog_new_reminder.xml | 19 +++++++++++++++---- .../main/res/layout/include_edit_interval.xml | 19 +++++++++++++++---- app/src/main/res/values-ar/strings.xml | 9 +++++++++ app/src/main/res/values-bg/strings.xml | 5 +++++ app/src/main/res/values-cs/strings.xml | 7 +++++++ app/src/main/res/values-da/strings.xml | 5 +++++ app/src/main/res/values-de/strings.xml | 5 +++++ app/src/main/res/values-el/strings.xml | 5 +++++ app/src/main/res/values-es/strings.xml | 6 ++++++ app/src/main/res/values-fi/strings.xml | 5 +++++ app/src/main/res/values-fr/strings.xml | 6 ++++++ app/src/main/res/values-hu/strings.xml | 5 +++++ app/src/main/res/values-is/strings.xml | 5 +++++ app/src/main/res/values-it/strings.xml | 6 ++++++ app/src/main/res/values-iw/strings.xml | 6 ++++++ app/src/main/res/values-nl/strings.xml | 5 +++++ app/src/main/res/values-pl/strings.xml | 7 +++++++ app/src/main/res/values-pt-rBR/strings.xml | 6 ++++++ app/src/main/res/values-pt/strings.xml | 6 ++++++ app/src/main/res/values-ru/strings.xml | 6 ++++++ app/src/main/res/values-sv/strings.xml | 5 +++++ app/src/main/res/values-ta/strings.xml | 5 +++++ app/src/main/res/values-tr/strings.xml | 5 +++++ app/src/main/res/values-uk/strings.xml | 7 +++++++ app/src/main/res/values-zh-rCN/strings.xml | 4 ++++ app/src/main/res/values-zh-rTW/strings.xml | 4 ++++ app/src/main/res/values/strings.xml | 5 +++++ .../java/com/futsch1/medtimer/IntervalTest.kt | 9 +++++++++ 30 files changed, 189 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/futsch1/medtimer/helpers/Interval.kt b/app/src/main/java/com/futsch1/medtimer/helpers/Interval.kt index c8346cc6f..5e31e3315 100644 --- a/app/src/main/java/com/futsch1/medtimer/helpers/Interval.kt +++ b/app/src/main/java/com/futsch1/medtimer/helpers/Interval.kt @@ -5,13 +5,14 @@ import com.futsch1.medtimer.R import com.futsch1.medtimer.model.ReminderTime enum class IntervalUnit { - MINUTES, HOURS, DAYS + MINUTES, HOURS, DAYS, WEEKS } private fun getMinutes(unit: IntervalUnit, value: Int) = when (unit) { IntervalUnit.MINUTES -> value IntervalUnit.HOURS -> value * 60 IntervalUnit.DAYS -> value * 60 * 24 + IntervalUnit.WEEKS -> value * 60 * 24 * 7 } class Interval(var minutesValue: Int, var maxMinutesValue: Int = MAX_INTERVAL_MINUTES) { @@ -24,6 +25,7 @@ class Interval(var minutesValue: Int, var maxMinutesValue: Int = MAX_INTERVAL_MI fun getUnit(): IntervalUnit { return when { + minutesValue % (60 * 24 * 7) == 0 -> IntervalUnit.WEEKS minutesValue % (60 * 24) == 0 -> IntervalUnit.DAYS minutesValue % 60 == 0 -> IntervalUnit.HOURS else -> IntervalUnit.MINUTES @@ -35,6 +37,7 @@ class Interval(var minutesValue: Int, var maxMinutesValue: Int = MAX_INTERVAL_MI IntervalUnit.MINUTES -> minutesValue IntervalUnit.HOURS -> minutesValue / 60 IntervalUnit.DAYS -> minutesValue / (60 * 24) + IntervalUnit.WEEKS -> minutesValue / (60 * 24 * 7) } } @@ -43,6 +46,7 @@ class Interval(var minutesValue: Int, var maxMinutesValue: Int = MAX_INTERVAL_MI IntervalUnit.MINUTES -> minutesValue IntervalUnit.HOURS -> minutesValue / 60 IntervalUnit.DAYS -> minutesValue / (60 * 24) + IntervalUnit.WEEKS -> minutesValue / (60 * 24 * 7) } } @@ -63,11 +67,12 @@ class Interval(var minutesValue: Int, var maxMinutesValue: Int = MAX_INTERVAL_MI IntervalUnit.MINUTES -> R.plurals.minutes IntervalUnit.HOURS -> R.plurals.hours IntervalUnit.DAYS -> R.plurals.days + IntervalUnit.WEEKS -> R.plurals.weeks } return "$value ${context.resources.getQuantityString(textId, value)}" } companion object { - const val MAX_INTERVAL_MINUTES = 31 * 60 * 24 + const val MAX_INTERVAL_MINUTES = 365 * 60 * 24 } } diff --git a/app/src/main/java/com/futsch1/medtimer/medicine/editors/IntervalEditor.kt b/app/src/main/java/com/futsch1/medtimer/medicine/editors/IntervalEditor.kt index 64a996238..27c65bb8f 100644 --- a/app/src/main/java/com/futsch1/medtimer/medicine/editors/IntervalEditor.kt +++ b/app/src/main/java/com/futsch1/medtimer/medicine/editors/IntervalEditor.kt @@ -56,6 +56,7 @@ class IntervalEditor( IntervalUnit.MINUTES -> timeEditLayout.context.getString(R.string.minutes_string) IntervalUnit.HOURS -> timeEditLayout.context.getString(R.string.hours_string) IntervalUnit.DAYS -> timeEditLayout.context.getString(R.string.days_string) + IntervalUnit.WEEKS -> timeEditLayout.context.getString(R.string.weeks_string) } } @@ -83,6 +84,7 @@ class IntervalEditor( private fun checkedIntervalUnit(checkedId: Int) = when (checkedId) { intervalUnitToggle.getChildAt(0).id -> IntervalUnit.MINUTES intervalUnitToggle.getChildAt(1).id -> IntervalUnit.HOURS - else -> IntervalUnit.DAYS + intervalUnitToggle.getChildAt(2).id -> IntervalUnit.DAYS + else -> IntervalUnit.WEEKS } } diff --git a/app/src/main/res/layout/dialog_new_reminder.xml b/app/src/main/res/layout/dialog_new_reminder.xml index eb8f97cfd..c85ba22f3 100644 --- a/app/src/main/res/layout/dialog_new_reminder.xml +++ b/app/src/main/res/layout/dialog_new_reminder.xml @@ -69,7 +69,7 @@