@@ -5,45 +5,47 @@ import android.content.SharedPreferences
55import androidx.core.content.edit
66
77class BackgroundWorkerPreferences (private val ctx : Context ) {
8- companion object {
9- const val SHARED_PREF_NAME = " Immich::BackgroundWorker"
10- private const val SHARED_PREF_MIN_DELAY_KEY = " BackgroundWorker::minDelaySeconds"
11- private const val SHARED_PREF_REQUIRE_CHARGING_KEY = " BackgroundWorker::requireCharging"
12- private const val SHARED_PREF_LOCK_KEY = " BackgroundWorker::isLocked"
13-
14- private const val DEFAULT_MIN_DELAY_SECONDS = 30L
15- private const val DEFAULT_REQUIRE_CHARGING = false
8+ companion object {
9+ const val SHARED_PREF_NAME = " Immich::BackgroundWorker"
10+ private const val SHARED_PREF_MIN_DELAY_KEY = " BackgroundWorker::minDelaySeconds"
11+ private const val SHARED_PREF_REQUIRE_CHARGING_KEY = " BackgroundWorker::requireCharging"
12+ private const val SHARED_PREF_LOCK_KEY = " BackgroundWorker::isLocked"
13+
14+ private const val DEFAULT_MIN_DELAY_SECONDS = 30L
15+ private const val DEFAULT_REQUIRE_CHARGING = false
16+ }
17+
18+ private val sp: SharedPreferences by lazy {
19+ ctx.getSharedPreferences(SHARED_PREF_NAME , Context .MODE_PRIVATE )
20+ }
21+
22+ fun updateSettings (settings : BackgroundWorkerSettings ) {
23+ sp.edit {
24+ putLong(SHARED_PREF_MIN_DELAY_KEY , settings.minimumDelaySeconds)
25+ putBoolean(SHARED_PREF_REQUIRE_CHARGING_KEY , settings.requiresCharging)
1626 }
17-
18- private val sp: SharedPreferences by lazy {
19- ctx.getSharedPreferences(SHARED_PREF_NAME , Context .MODE_PRIVATE )
20- }
21-
22- fun updateSettings (settings : BackgroundWorkerSettings ) {
23- sp.edit {
24- putLong(SHARED_PREF_MIN_DELAY_KEY , settings.minimumDelaySeconds)
25- putBoolean(SHARED_PREF_REQUIRE_CHARGING_KEY , settings.requiresCharging)
26- }
27- }
28-
29- fun getSettings (): BackgroundWorkerSettings {
30- return BackgroundWorkerSettings (
31- minimumDelaySeconds = sp.getLong(SHARED_PREF_MIN_DELAY_KEY , DEFAULT_MIN_DELAY_SECONDS ),
32- requiresCharging = sp.getBoolean(
33- SHARED_PREF_REQUIRE_CHARGING_KEY ,
34- DEFAULT_REQUIRE_CHARGING
35- ),
36- )
37- }
38-
39- fun setLocked (paused : Boolean ) {
40- sp.edit {
41- putBoolean(SHARED_PREF_LOCK_KEY , paused)
42- }
27+ }
28+
29+ fun getSettings (): BackgroundWorkerSettings {
30+ val delaySeconds = sp.getLong(SHARED_PREF_MIN_DELAY_KEY , DEFAULT_MIN_DELAY_SECONDS )
31+
32+ return BackgroundWorkerSettings (
33+ minimumDelaySeconds = if (delaySeconds >= 1000 ) delaySeconds / 1000 else delaySeconds,
34+ requiresCharging = sp.getBoolean(
35+ SHARED_PREF_REQUIRE_CHARGING_KEY ,
36+ DEFAULT_REQUIRE_CHARGING
37+ ),
38+ )
39+ }
40+
41+ fun setLocked (paused : Boolean ) {
42+ sp.edit {
43+ putBoolean(SHARED_PREF_LOCK_KEY , paused)
4344 }
45+ }
4446
45- fun isLocked (): Boolean {
46- return sp.getBoolean(SHARED_PREF_LOCK_KEY , true )
47- }
47+ fun isLocked (): Boolean {
48+ return sp.getBoolean(SHARED_PREF_LOCK_KEY , true )
49+ }
4850}
4951
0 commit comments