From 86f789f8ec0d150098904b85dd6feb7a19725b1c Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Thu, 29 Jun 2017 21:48:27 -0700 Subject: Lots of small incremental fixes --- .../pitchedapps/frost/settings/Notifications.kt | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt (limited to 'app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt') 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 -- cgit v1.2.3