diff options
author | Allan Wang <me@allanwang.ca> | 2020-07-19 15:46:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-19 15:46:09 -0700 |
commit | 2cff5ce38e8a9fa32ee196ca911414e0b2f7e19e (patch) | |
tree | 09a756d7de8e8dcde58335c9b854119e925c03b5 /app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt | |
parent | 7efc3d6f6f95ca9d3323009b5f66d883041a7974 (diff) | |
parent | 983a3dfa7462316df4dc01b583edf0cbe7a9d606 (diff) | |
download | frost-2cff5ce38e8a9fa32ee196ca911414e0b2f7e19e.tar.gz frost-2cff5ce38e8a9fa32ee196ca911414e0b2f7e19e.tar.bz2 frost-2cff5ce38e8a9fa32ee196ca911414e0b2f7e19e.zip |
Merge pull request #1699 from AllanWang/prefs
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt new file mode 100644 index 00000000..5b0ba83b --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/NotifPrefs.kt @@ -0,0 +1,112 @@ +/* + * Copyright 2020 Allan Wang + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package com.pitchedapps.frost.prefs.sections + +import ca.allanwang.kau.kpref.KPref +import ca.allanwang.kau.kpref.KPrefFactory +import com.pitchedapps.frost.BuildConfig +import com.pitchedapps.frost.prefs.OldPrefs +import com.pitchedapps.frost.prefs.PrefsBase +import org.koin.core.KoinComponent +import org.koin.core.inject + +interface NotifPrefs : PrefsBase { + var notificationKeywords: Set<String> + + var notificationsGeneral: Boolean + + var notificationAllAccounts: Boolean + + var notificationsInstantMessages: Boolean + + var notificationsImAllAccounts: Boolean + + var notificationVibrate: Boolean + + var notificationSound: Boolean + + var notificationRingtone: String + + var messageRingtone: String + + var notificationLights: Boolean + + var notificationFreq: Long +} + +class NotifPrefsImpl( + factory: KPrefFactory +) : KPref("${BuildConfig.APPLICATION_ID}.prefs.notif", factory), + NotifPrefs, KoinComponent { + + private val oldPrefs: OldPrefs by inject() + + override var notificationKeywords: Set<String> by kpref( + "notification_keywords", + oldPrefs.notificationKeywords /* mutableSetOf() */ + ) + + override var notificationsGeneral: Boolean by kpref( + "notification_general", + oldPrefs.notificationsGeneral /* true */ + ) + + override var notificationAllAccounts: Boolean by kpref( + "notification_all_accounts", + oldPrefs.notificationAllAccounts /* true */ + ) + + override var notificationsInstantMessages: Boolean by kpref( + "notification_im", + oldPrefs.notificationsInstantMessages /* true */ + ) + + override var notificationsImAllAccounts: Boolean by kpref( + "notification_im_all_accounts", + oldPrefs.notificationsImAllAccounts /* false */ + ) + + override var notificationVibrate: Boolean by kpref( + "notification_vibrate", + oldPrefs.notificationVibrate /* true */ + ) + + override var notificationSound: Boolean by kpref( + "notification_sound", + oldPrefs.notificationSound /* true */ + ) + + override var notificationRingtone: String by kpref( + "notification_ringtone", + oldPrefs.notificationRingtone /* "" */ + ) + + override var messageRingtone: String by kpref( + "message_ringtone", + oldPrefs.messageRingtone /* "" */ + ) + + override var notificationLights: Boolean by kpref( + "notification_lights", + oldPrefs.notificationLights /* true */ + ) + + override var notificationFreq: Long by kpref( + "notification_freq", + oldPrefs.notificationFreq /* 15L */ + ) +} |