aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-06-12 16:51:27 -0700
committerAllan Wang <me@allanwang.ca>2017-06-12 16:51:27 -0700
commita17ae247c496d2ec8038f36428812f3c2e410d87 (patch)
tree310e5a4d49a08dd8dcf876cd8768ce0053ba2df0 /app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
parent605a08c2e2e8634263d7626cf7471310add3acb2 (diff)
downloadfrost-a17ae247c496d2ec8038f36428812f3c2e410d87.tar.gz
frost-a17ae247c496d2ec8038f36428812f3c2e410d87.tar.bz2
frost-a17ae247c496d2ec8038f36428812f3c2e410d87.zip
Add kau and web scrolling
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt103
1 files changed, 9 insertions, 94 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
index ec296309..89cccd40 100644
--- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Prefs.kt
@@ -1,111 +1,26 @@
package com.pitchedapps.frost.utils
-import android.content.Context
-import android.content.SharedPreferences
import android.graphics.Color
+import ca.allanwang.kau.kpref.KPref
+import ca.allanwang.kau.kpref.kpref
/**
* Created by Allan Wang on 2017-05-28.
*
* Shared Preference object with lazy cached retrievals
*/
+object Prefs : KPref() {
-private val PREFERENCE_NAME = "${com.pitchedapps.frost.BuildConfig.APPLICATION_ID}.prefs"
-private val LAST_ACTIVE = "last_active"
-private val USER_ID = "user_id"
-private val COLOR_TEXT = "color_text"
-private val COLOR_BG = "color_bg"
-private val COLOR_HEADER = "color_header"
-private val COLOR_ICONS = "color_icons"
-private val THEME_TYPE = "theme_type"
+ var lastActive: Long by kpref("last_active", -1L)
-object Prefs {
+ var userId: Long by kpref("user_id", -1L)
- private const val prefDefaultLong = -2L
- private const val prefDefaultInt = -2
+ var textColor: Int by kpref("color_text", Color.BLACK)
- lateinit private var c: Context
- operator fun invoke(c: Context) {
- this.c = c
- lastActive = 0
- }
+ var bgColor: Int by kpref("color_bg", Color.WHITE)
- private val sp: SharedPreferences by lazy { c.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE) }
+ var headerColor: Int by kpref("color_header", 0xff3b5998.toInt())
- var lastActive: Long = prefDefaultLong
- get() {
- if (field == prefDefaultLong) field = sp.getLong(LAST_ACTIVE, -1)
- return field
- }
- set(value) {
- field = value
- if (value != prefDefaultLong) set(LAST_ACTIVE, System.currentTimeMillis())
- }
+ var iconColor: Int by kpref("color_icons", Color.WHITE)
- const val userIdDefault = -1L
- var userId: Long = prefDefaultLong
- get() {
- if (field == prefDefaultLong) field = sp.getLong(USER_ID, userIdDefault)
- return field
- }
- set(value) {
- field = value
- if (value != prefDefaultLong) set(USER_ID, value)
- }
-
- var textColor: Int = prefDefaultInt
- get() {
- if (field == prefDefaultInt) field = sp.getInt(COLOR_TEXT, Color.BLACK)
- return field
- }
- set(value) {
- field = value
- if (value != prefDefaultInt) set(COLOR_TEXT, value)
- }
-
- var bgColor: Int = prefDefaultInt
- get() {
- if (field == prefDefaultInt) field = sp.getInt(COLOR_BG, Color.WHITE)
- return field
- }
- set(value) {
- field = value
- if (value != prefDefaultInt) set(COLOR_BG, value)
- }
-
- var headerColor: Int = prefDefaultInt
- get() {
- if (field == prefDefaultInt) field = sp.getInt(COLOR_HEADER, 0xff3b5998.toInt())
- return field
- }
- set(value) {
- field = value
- if (value != prefDefaultInt) set(COLOR_HEADER, value)
- }
-
- var iconColor: Int = prefDefaultInt
- get() {
- if (field == prefDefaultInt) field = sp.getInt(COLOR_ICONS, Color.WHITE)
- return field
- }
- set(value) {
- field = value
- if (value != prefDefaultInt) set(COLOR_ICONS, value)
- }
-
- private fun set(key: String, value: Boolean) = sp.edit().putBoolean(key, value).apply()
- private fun set(key: String, value: Int) = sp.edit().putInt(key, value).apply()
- private fun set(key: String, value: Long) = sp.edit().putLong(key, value).apply()
- private fun set(key: String, value: String) = sp.edit().putString(key, value).apply()
-
- fun clear() {
- L.d("Clearing Prefs")
- sp.edit().clear().apply()
- lastActive = prefDefaultLong
- userId = prefDefaultLong
- textColor = prefDefaultInt
- bgColor = prefDefaultInt
- headerColor = prefDefaultInt
- iconColor = prefDefaultInt
- }
}