@@ -2,6 +2,7 @@ package org.fossify.clock.helpers
22
33import android.content.Context
44import android.media.RingtoneManager
5+ import androidx.core.content.edit
56import org.fossify.clock.extensions.gson.gson
67import org.fossify.clock.models.Alarm
78import org.fossify.clock.models.ObfuscatedAlarm
@@ -11,8 +12,6 @@ import org.fossify.commons.extensions.getDefaultAlarmSound
1112import org.fossify.commons.extensions.getDefaultAlarmTitle
1213import org.fossify.commons.helpers.BaseConfig
1314import org.fossify.commons.helpers.SORT_DESCENDING
14- import java.util.Calendar
15- import java.util.Locale
1615
1716class Config (context : Context ) : BaseConfig(context) {
1817 companion object {
@@ -21,63 +20,81 @@ class Config(context: Context) : BaseConfig(context) {
2120
2221 var selectedTimeZones: Set <String >
2322 get() = prefs.getStringSet(SELECTED_TIME_ZONES , HashSet ())!!
24- set(selectedTimeZones) = prefs.edit(). putStringSet(SELECTED_TIME_ZONES , selectedTimeZones). apply ()
23+ set(selectedTimeZones) = prefs.edit { putStringSet(SELECTED_TIME_ZONES , selectedTimeZones) }
2524
2625 var editedTimeZoneTitles: Set <String >
2726 get() = prefs.getStringSet(EDITED_TIME_ZONE_TITLES , HashSet ())!!
28- set(editedTimeZoneTitles) = prefs.edit().putStringSet(EDITED_TIME_ZONE_TITLES , editedTimeZoneTitles).apply ()
27+ set(editedTimeZoneTitles) = prefs.edit {
28+ putStringSet(EDITED_TIME_ZONE_TITLES , editedTimeZoneTitles)
29+ }
2930
3031 var timerSeconds: Int
3132 get() = prefs.getInt(TIMER_SECONDS , 300 )
32- set(lastTimerSeconds) = prefs.edit(). putInt(TIMER_SECONDS , lastTimerSeconds). apply ()
33+ set(lastTimerSeconds) = prefs.edit { putInt(TIMER_SECONDS , lastTimerSeconds) }
3334
3435 var timerVibrate: Boolean
3536 get() = prefs.getBoolean(TIMER_VIBRATE , false )
36- set(timerVibrate) = prefs.edit(). putBoolean(TIMER_VIBRATE , timerVibrate). apply ()
37+ set(timerVibrate) = prefs.edit { putBoolean(TIMER_VIBRATE , timerVibrate) }
3738
3839 var timerSoundUri: String
39- get() = prefs.getString(TIMER_SOUND_URI , context.getDefaultAlarmSound(RingtoneManager .TYPE_ALARM ).uri)!!
40- set(timerSoundUri) = prefs.edit().putString(TIMER_SOUND_URI , timerSoundUri).apply ()
40+ get() = prefs.getString(
41+ TIMER_SOUND_URI ,
42+ context.getDefaultAlarmSound(RingtoneManager .TYPE_ALARM ).uri
43+ )!!
44+ set(timerSoundUri) = prefs.edit { putString(TIMER_SOUND_URI , timerSoundUri) }
4145
4246 var timerSoundTitle: String
43- get() = prefs.getString(TIMER_SOUND_TITLE , context.getDefaultAlarmTitle(RingtoneManager .TYPE_ALARM ))!!
44- set(timerSoundTitle) = prefs.edit().putString(TIMER_SOUND_TITLE , timerSoundTitle).apply ()
47+ get() = prefs.getString(
48+ TIMER_SOUND_TITLE ,
49+ context.getDefaultAlarmTitle(RingtoneManager .TYPE_ALARM )
50+ )!!
51+ set(timerSoundTitle) = prefs.edit { putString(TIMER_SOUND_TITLE , timerSoundTitle) }
4552
4653 var timerMaxReminderSecs: Int
4754 get() = prefs.getInt(TIMER_MAX_REMINDER_SECS , DEFAULT_MAX_TIMER_REMINDER_SECS )
48- set(timerMaxReminderSecs) = prefs.edit().putInt(TIMER_MAX_REMINDER_SECS , timerMaxReminderSecs).apply ()
55+ set(timerMaxReminderSecs) = prefs.edit {
56+ putInt(TIMER_MAX_REMINDER_SECS , timerMaxReminderSecs)
57+ }
4958
5059 var timerLabel: String?
5160 get() = prefs.getString(TIMER_LABEL , null )
52- set(label) = prefs.edit(). putString(TIMER_LABEL , label). apply ()
61+ set(label) = prefs.edit { putString(TIMER_LABEL , label) }
5362
5463 var toggleStopwatch: Boolean
5564 get() = prefs.getBoolean(TOGGLE_STOPWATCH , false )
56- set(toggleStopwatch) = prefs.edit(). putBoolean(TOGGLE_STOPWATCH , toggleStopwatch). apply ()
65+ set(toggleStopwatch) = prefs.edit { putBoolean(TOGGLE_STOPWATCH , toggleStopwatch) }
5766
5867 var alarmSort: Int
5968 get() = prefs.getInt(ALARMS_SORT_BY , SORT_BY_CREATION_ORDER )
60- set(alarmSort) = prefs.edit(). putInt(ALARMS_SORT_BY , alarmSort). apply ()
69+ set(alarmSort) = prefs.edit { putInt(ALARMS_SORT_BY , alarmSort) }
6170
6271 var alarmsCustomSorting: String
6372 get() = prefs.getString(ALARMS_CUSTOM_SORTING , " " )!!
64- set(alarmsCustomSorting) = prefs.edit().putString(ALARMS_CUSTOM_SORTING , alarmsCustomSorting).apply ()
73+ set(alarmsCustomSorting) = prefs.edit {
74+ putString(ALARMS_CUSTOM_SORTING , alarmsCustomSorting)
75+ }
6576
6677 var timerSort: Int
6778 get() = prefs.getInt(TIMERS_SORT_BY , SORT_BY_CREATION_ORDER )
68- set(timerSort) = prefs.edit(). putInt(TIMERS_SORT_BY , timerSort). apply ()
79+ set(timerSort) = prefs.edit { putInt(TIMERS_SORT_BY , timerSort) }
6980
7081 var timersCustomSorting: String
7182 get() = prefs.getString(TIMERS_CUSTOM_SORTING , " " )!!
72- set(timersCustomSorting) = prefs.edit().putString(TIMERS_CUSTOM_SORTING , timersCustomSorting).apply ()
83+ set(timersCustomSorting) = prefs.edit {
84+ putString(TIMERS_CUSTOM_SORTING , timersCustomSorting)
85+ }
7386
7487 var alarmMaxReminderSecs: Int
7588 get() = prefs.getInt(ALARM_MAX_REMINDER_SECS , DEFAULT_MAX_ALARM_REMINDER_SECS )
76- set(alarmMaxReminderSecs) = prefs.edit().putInt(ALARM_MAX_REMINDER_SECS , alarmMaxReminderSecs).apply ()
89+ set(alarmMaxReminderSecs) = prefs.edit {
90+ putInt(ALARM_MAX_REMINDER_SECS , alarmMaxReminderSecs)
91+ }
7792
7893 var increaseVolumeGradually: Boolean
7994 get() = prefs.getBoolean(INCREASE_VOLUME_GRADUALLY , true )
80- set(increaseVolumeGradually) = prefs.edit().putBoolean(INCREASE_VOLUME_GRADUALLY , increaseVolumeGradually).apply ()
95+ set(increaseVolumeGradually) = prefs.edit {
96+ putBoolean(INCREASE_VOLUME_GRADUALLY , increaseVolumeGradually)
97+ }
8198
8299 var alarmLastConfig: Alarm ?
83100 get() = prefs.getString(ALARM_LAST_CONFIG , null )?.let { lastAlarm ->
@@ -87,11 +104,11 @@ class Config(context: Context) : BaseConfig(context) {
87104 } else {
88105 gson.fromJson(lastAlarm, Alarm ::class .java)
89106 }
90- } catch (e : Exception ) {
107+ } catch (_ : Exception ) {
91108 null
92109 }
93110 }
94- set(alarm) = prefs.edit(). putString(ALARM_LAST_CONFIG , gson.toJson(alarm)). apply ()
111+ set(alarm) = prefs.edit { putString(ALARM_LAST_CONFIG , gson.toJson(alarm)) }
95112
96113 var timerLastConfig: Timer ?
97114 get() = prefs.getString(TIMER_LAST_CONFIG , null )?.let { lastTimer ->
@@ -101,32 +118,36 @@ class Config(context: Context) : BaseConfig(context) {
101118 } else {
102119 gson.fromJson(lastTimer, Timer ::class .java)
103120 }
104- } catch (e : Exception ) {
121+ } catch (_ : Exception ) {
105122 null
106123 }
107124 }
108- set(timer) = prefs.edit(). putString(TIMER_LAST_CONFIG , gson.toJson(timer)). apply ()
125+ set(timer) = prefs.edit { putString(TIMER_LAST_CONFIG , gson.toJson(timer)) }
109126
110127 var timerChannelId: String?
111128 get() = prefs.getString(TIMER_CHANNEL_ID , null )
112- set(id) = prefs.edit(). putString(TIMER_CHANNEL_ID , id). apply ()
129+ set(id) = prefs.edit { putString(TIMER_CHANNEL_ID , id) }
113130
114131 var stopwatchLapsSort: Int
115132 get() = prefs.getInt(STOPWATCH_LAPS_SORT_BY , SORT_BY_LAP or SORT_DESCENDING )
116- set(stopwatchLapsSort) = prefs.edit(). putInt(STOPWATCH_LAPS_SORT_BY , stopwatchLapsSort). apply ()
133+ set(stopwatchLapsSort) = prefs.edit { putInt(STOPWATCH_LAPS_SORT_BY , stopwatchLapsSort) }
117134
118135 var wasInitialWidgetSetUp: Boolean
119136 get() = prefs.getBoolean(WAS_INITIAL_WIDGET_SET_UP , false )
120- set(wasInitialWidgetSetUp) = prefs.edit().putBoolean(WAS_INITIAL_WIDGET_SET_UP , wasInitialWidgetSetUp).apply ()
137+ set(wasInitialWidgetSetUp) = prefs.edit {
138+ putBoolean(WAS_INITIAL_WIDGET_SET_UP , wasInitialWidgetSetUp)
139+ }
121140
122141 var lastDataExportPath: String
123142 get() = prefs.getString(LAST_DATA_EXPORT_PATH , " " )!!
124- set(lastDataExportPath) = prefs.edit().putString(LAST_DATA_EXPORT_PATH , lastDataExportPath).apply ()
143+ set(lastDataExportPath) = prefs.edit {
144+ putString(LAST_DATA_EXPORT_PATH , lastDataExportPath)
145+ }
125146
126- var firstDayOfWeek: Int
127- get() {
128- val defaultFirstDayOfWeek = Calendar .getInstance(Locale .getDefault()).firstDayOfWeek
129- return prefs.getInt(FIRST_DAY_OF_WEEK , getDayNumber(defaultFirstDayOfWeek))
147+ @Deprecated(" Remove this method in future releases" )
148+ var migrateFirstDayOfWeek: Boolean
149+ get() = prefs.getBoolean(MIGRATE_FIRST_DAY_OF_WEEK , true )
150+ set(migrateFirstDayOfWeek) = prefs.edit {
151+ putBoolean(MIGRATE_FIRST_DAY_OF_WEEK , migrateFirstDayOfWeek)
130152 }
131- set(firstDayOfWeek) = prefs.edit().putInt(FIRST_DAY_OF_WEEK , firstDayOfWeek).apply ()
132153}
0 commit comments