diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt index 56effb37..b5770739 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/SettingsActivity.kt @@ -1,11 +1,51 @@ package com.pitchedapps.frost -import android.preference.PreferenceActivity -import android.support.v7.app.AppCompatActivity +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.views.RippleCanvas +import com.mikepenz.google_material_typeface_library.GoogleMaterial +import com.pitchedapps.frost.utils.Prefs /** * Created by Allan Wang on 2017-06-06. */ -class SettingsActivity:AppCompatActivity() { +class SettingsActivity : KPrefActivity() { + override fun onCreateKPrefs(savedInstanceState: android.os.Bundle?): KPrefAdapterBuilder.() -> Unit = { + 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 + }) + } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + bgCanvas.set(Prefs.bgColor) + val darkAccent = Prefs.headerColor.darken() + toolbarCanvas.set(darkAccent) + this.navigationBarColor = darkAccent + } }
\ No newline at end of file |