aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt52
1 files changed, 52 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt
new file mode 100644
index 00000000..03ed517b
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt
@@ -0,0 +1,52 @@
+package com.pitchedapps.frost.settings
+
+import ca.allanwang.kau.kpref.KPrefAdapterBuilder
+import ca.allanwang.kau.utils.minuteToText
+import com.pitchedapps.frost.R
+import com.pitchedapps.frost.SettingsActivity
+import com.pitchedapps.frost.utils.Prefs
+import com.pitchedapps.frost.utils.materialDialogThemed
+import com.pitchedapps.frost.utils.scheduleNotifications
+import com.pitchedapps.frost.views.Keywords
+
+/**
+ * Created by Allan Wang on 2017-06-29.
+ */
+fun SettingsActivity.getNotificationPrefs(): KPrefAdapterBuilder.() -> Unit = {
+
+ text(R.string.notification_frequency, { Prefs.notificationFreq }, { Prefs.notificationFreq = it }) {
+ val options = longArrayOf(-1, 15, 30, 60, 120, 180, 300, 1440, 2880)
+ val texts = options.map { minuteToText(it) }
+ onClick = {
+ _, _, item ->
+ materialDialogThemed {
+ title(R.string.notification_frequency)
+ items(texts)
+ itemsCallbackSingleChoice(options.indexOf(item.pref), {
+ _, _, which, _ ->
+ item.pref = options[which]
+ scheduleNotifications(item.pref)
+ true
+ })
+ }
+ true
+ }
+ textGetter = { minuteToText(it) }
+ }
+
+ plainText(R.string.notification_keywords) {
+ descRes = R.string.notification_keywords_desc
+ onClick = {
+ _, _, _ ->
+ val keywordView = Keywords(this@getNotificationPrefs)
+ materialDialogThemed {
+ title(R.string.notification_keywords)
+ customView(keywordView, false)
+ dismissListener { keywordView.save() }
+ positiveText(R.string.kau_done)
+ }
+ true
+ }
+ }
+
+} \ No newline at end of file