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.kt33
1 files changed, 19 insertions, 14 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
index c58710b5..40ff071e 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Notifications.kt
@@ -19,13 +19,16 @@ package com.pitchedapps.frost.settings
import android.annotation.SuppressLint
import android.content.Intent
import android.media.RingtoneManager
-import android.net.Uri
import android.os.Build
import android.provider.Settings
import ca.allanwang.kau.kpref.activity.KPrefAdapterBuilder
import ca.allanwang.kau.kpref.activity.items.KPrefText
+import ca.allanwang.kau.utils.materialDialog
import ca.allanwang.kau.utils.minuteToText
import ca.allanwang.kau.utils.string
+import com.afollestad.materialdialogs.callbacks.onDismiss
+import com.afollestad.materialdialogs.customview.customView
+import com.afollestad.materialdialogs.list.listItemsSingleChoice
import com.pitchedapps.frost.BuildConfig
import com.pitchedapps.frost.R
import com.pitchedapps.frost.activities.SettingsActivity
@@ -35,7 +38,7 @@ import com.pitchedapps.frost.services.fetchNotifications
import com.pitchedapps.frost.services.scheduleNotifications
import com.pitchedapps.frost.utils.Prefs
import com.pitchedapps.frost.utils.frostSnackbar
-import com.pitchedapps.frost.utils.materialDialogThemed
+import com.pitchedapps.frost.utils.frostUri
import com.pitchedapps.frost.views.Keywords
import kotlinx.coroutines.launch
@@ -49,13 +52,11 @@ fun SettingsActivity.getNotificationPrefs(): KPrefAdapterBuilder.() -> Unit = {
val options = longArrayOf(15, 30, 60, 120, 180, 300, 1440, 2880)
val texts = options.map { if (it <= 0) string(R.string.no_notifications) else minuteToText(it) }
onClick = {
- materialDialogThemed {
+ materialDialog {
title(R.string.notification_frequency)
- items(texts)
- itemsCallbackSingleChoice(options.indexOf(item.pref)) { _, _, which, _ ->
- item.pref = options[which]
+ listItemsSingleChoice(items = texts, initialSelection = options.indexOf(item.pref)) { _, index, _ ->
+ item.pref = options[index]
scheduleNotifications(item.pref)
- true
}
}
}
@@ -72,11 +73,11 @@ fun SettingsActivity.getNotificationPrefs(): KPrefAdapterBuilder.() -> Unit = {
descRes = R.string.notification_keywords_desc
onClick = {
val keywordView = Keywords(this@getNotificationPrefs)
- materialDialogThemed {
+ materialDialog {
title(R.string.notification_keywords)
- customView(keywordView, false)
- dismissListener { keywordView.save() }
- positiveText(R.string.kau_done)
+ customView(view = keywordView)
+ positiveButton(R.string.kau_done)
+ onDismiss { keywordView.save() }
}
}
}
@@ -135,7 +136,7 @@ fun SettingsActivity.getNotificationPrefs(): KPrefAdapterBuilder.() -> Unit = {
enabler = Prefs::notificationSound
textGetter = {
if (it.isBlank()) string(R.string.kau_default)
- else RingtoneManager.getRingtone(this@getNotificationPrefs, Uri.parse(it))
+ else RingtoneManager.getRingtone(this@getNotificationPrefs, frostUri(it))
?.getTitle(this@getNotificationPrefs)
?: "---" //todo figure out why this happens
}
@@ -145,8 +146,12 @@ fun SettingsActivity.getNotificationPrefs(): KPrefAdapterBuilder.() -> Unit = {
putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false)
putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true)
putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION)
- if (item.pref.isNotBlank())
- putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, Uri.parse(item.pref))
+ if (item.pref.isNotBlank()) {
+ putExtra(
+ RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
+ frostUri(item.pref)
+ )
+ }
}
startActivityForResult(intent, code)
}