From 6b543d9e9e7f68d30fb299186d4c6d2aab9bd49f Mon Sep 17 00:00:00 2001 From: Prince Date: Fri, 16 Jan 2026 14:43:20 +0530 Subject: [PATCH] Allow configurable snooze duration using SharedPreferences --- .../BroadcastReceivers/AlarmSnoozeReceiver.kt | 8 +++++++- .../uac_companion/Utils/Preferences.kt | 20 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 android/app/src/main/kotlin/com/example/uac_companion/Utils/Preferences.kt diff --git a/android/app/src/main/kotlin/com/example/uac_companion/AlarmServices/BroadcastReceivers/AlarmSnoozeReceiver.kt b/android/app/src/main/kotlin/com/example/uac_companion/AlarmServices/BroadcastReceivers/AlarmSnoozeReceiver.kt index 1b2bbcb..6eb2727 100644 --- a/android/app/src/main/kotlin/com/example/uac_companion/AlarmServices/BroadcastReceivers/AlarmSnoozeReceiver.kt +++ b/android/app/src/main/kotlin/com/example/uac_companion/AlarmServices/BroadcastReceivers/AlarmSnoozeReceiver.kt @@ -1,5 +1,7 @@ package com.ccextractor.uac_companion +import com.ccextractor.uac_companion.Utils.Preferences + import android.app.* import android.content.* import android.os.Build @@ -33,7 +35,11 @@ class AlarmSnoozeReceiver : BroadcastReceiver() { // Reschedule the alarm 5 minute ahead val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager // val triggerAtMillis = System.currentTimeMillis() + 300_000 - val triggerAtMillis = System.currentTimeMillis() + 300_000 + + //Preferences.kt added and AlarmSnoozeReceiver updated. + val snoozeMinutes = Preferences.getSnoozeDurationMinutes(context) + val triggerAtMillis = System.currentTimeMillis() + snoozeMinutes * 60 * 1000 + val snoozeIntent = Intent(context, AlarmBroadcastReceiver::class.java).apply { // putExtra("alarmId", alarmId) diff --git a/android/app/src/main/kotlin/com/example/uac_companion/Utils/Preferences.kt b/android/app/src/main/kotlin/com/example/uac_companion/Utils/Preferences.kt new file mode 100644 index 0000000..7e5228a --- /dev/null +++ b/android/app/src/main/kotlin/com/example/uac_companion/Utils/Preferences.kt @@ -0,0 +1,20 @@ +package com.ccextractor.uac_companion.Utils + +import android.content.Context + +object Preferences { + + private const val PREF_NAME = "uac_companion_prefs" + private const val KEY_SNOOZE_DURATION_MINUTES = "snooze_duration_minutes" + private const val DEFAULT_SNOOZE_MINUTES = 5 + + fun getSnoozeDurationMinutes(context: Context): Int { + val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) + return prefs.getInt(KEY_SNOOZE_DURATION_MINUTES, DEFAULT_SNOOZE_MINUTES) + } + + fun setSnoozeDurationMinutes(context: Context, minutes: Int) { + val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) + prefs.edit().putInt(KEY_SNOOZE_DURATION_MINUTES, minutes).apply() + } +}