aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-06-14 17:01:13 -0700
committerAllan Wang <me@allanwang.ca>2017-06-14 17:01:13 -0700
commitfbbc92e4c98a30e107fb2a63887f8b6d20bffabb (patch)
treeec603d3379ddad94df084f94132ac0c739bcb4ac /app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
parentaa01ec691ef2638da7c22bf3cbd1a9c5e213ca1f (diff)
downloadfrost-fbbc92e4c98a30e107fb2a63887f8b6d20bffabb.tar.gz
frost-fbbc92e4c98a30e107fb2a63887f8b6d20bffabb.tar.bz2
frost-fbbc92e4c98a30e107fb2a63887f8b6d20bffabb.zip
Update themes and started theme settings
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt82
1 files changed, 58 insertions, 24 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
index b5770739..60499c4a 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt
@@ -3,11 +3,13 @@ package com.pitchedapps.frost
import android.os.Bundle
import ca.allanwang.kau.kpref.KPrefActivity
import ca.allanwang.kau.kpref.KPrefAdapterBuilder
-import ca.allanwang.kau.utils.darken
-import ca.allanwang.kau.utils.navigationBarColor
+import ca.allanwang.kau.utils.*
import ca.allanwang.kau.views.RippleCanvas
import com.mikepenz.google_material_typeface_library.GoogleMaterial
+import com.pitchedapps.frost.utils.EXTRA_COOKIES
import com.pitchedapps.frost.utils.Prefs
+import com.pitchedapps.frost.utils.Theme
+import com.pitchedapps.frost.utils.cookies
/**
* Created by Allan Wang on 2017-06-06.
@@ -17,28 +19,54 @@ class SettingsActivity : KPrefActivity() {
textColor = { Prefs.textColor }
accentColor = { Prefs.textColor }
header(R.string.settings)
- colorPicker(title = R.string.text_color,
- getter = { Prefs.textColor }, setter = { Prefs.textColor = it; reload() },
- configs = {
- allowCustom = true
- })
- colorPicker(iicon = GoogleMaterial.Icon.gmd_colorize,
- title = R.string.background_color,
- getter = { Prefs.bgColor }, setter = { Prefs.bgColor = it; bgCanvas.ripple(it, duration = 500L) },
- configs = {
- allowCustomAlpha = false
- allowCustom = true
- })
- colorPicker(title = R.string.header_color,
- getter = { Prefs.headerColor }, setter = {
- Prefs.headerColor = it
- val darkerColor = it.darken()
- this@SettingsActivity.navigationBarColor = darkerColor
- toolbarCanvas.ripple(darkerColor, RippleCanvas.MIDDLE, RippleCanvas.END, duration = 500L)
- },
- configs = {
- allowCustom = false
- })
+ text<Int>(title = R.string.theme, itemBuilder = {
+ onClick = {
+ itemView, innerContent, item ->
+ this@SettingsActivity.materialDialog {
+ title(R.string.theme)
+ items(Theme.values().map { this@SettingsActivity.string(it.textRes) })
+ itemsCallbackSingleChoice(item.pref, {
+ _, _, which, _ ->
+ if (item.pref != which) {
+ item.pref = which
+ reload()
+ }
+ true
+ })
+ }
+ true
+ }
+ getter = { Prefs.theme }
+ setter = { Prefs.theme = it }
+ }, textGetter = { this@SettingsActivity.string(Theme(it).textRes) })
+ colorPicker(title = R.string.text_color, itemBuilder = {
+ getter = { Prefs.textColor }
+ setter = { Prefs.textColor = it; reload() }
+ }, colorBuilder = {
+ allowCustom = true
+ })
+
+ colorPicker(title = R.string.background_color, coreBuilder = {
+ iicon = GoogleMaterial.Icon.gmd_colorize
+ }, itemBuilder = {
+ getter = { Prefs.bgColor }
+ setter = { Prefs.bgColor = it; bgCanvas.ripple(it, duration = 500L) }
+ }, colorBuilder = {
+ allowCustomAlpha = false
+ allowCustom = true
+ })
+
+ colorPicker(title = R.string.header_color, itemBuilder = {
+ getter = { Prefs.headerColor }
+ setter = {
+ Prefs.headerColor = it
+ val darkerColor = it.darken()
+ this@SettingsActivity.navigationBarColor = darkerColor
+ toolbarCanvas.ripple(darkerColor, RippleCanvas.MIDDLE, RippleCanvas.END, duration = 500L)
+ }
+ }, colorBuilder = {
+ allowCustom = false
+ })
}
override fun onCreate(savedInstanceState: Bundle?) {
@@ -48,4 +76,10 @@ class SettingsActivity : KPrefActivity() {
toolbarCanvas.set(darkAccent)
this.navigationBarColor = darkAccent
}
+
+ override fun onBackPressed() {
+ startActivitySlideOut(MainActivity::class.java, clearStack = true, intentBuilder = {
+ putParcelableArrayListExtra(EXTRA_COOKIES, cookies())
+ })
+ }
} \ No newline at end of file