aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt53
1 files changed, 46 insertions, 7 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt b/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt
index 41f7f019..8a8d10eb 100644
--- a/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt
@@ -29,11 +29,9 @@ import android.preference.PreferenceManager
import net.lacolaco.smileessence.Application
import net.lacolaco.smileessence.R
-class UserPreferenceHelper private constructor() : SharedPreferenceHelper() {
-
- // --------------------- GETTER / SETTER METHODS ---------------------
- override val preferences: SharedPreferences
- get() = PreferenceManager.getDefaultSharedPreferences(Application.getInstance())
+class UserPreferenceHelper private constructor() {
+ private val preferences: SharedPreferences
+ get() = PreferenceManager.getDefaultSharedPreferences(Application.instance)
// --------------------- HELPER METHODS ---------------------
val themeIndex: Int
@@ -42,9 +40,50 @@ class UserPreferenceHelper private constructor() : SharedPreferenceHelper() {
val textSize: Int
get() = get(R.string.key_setting_text_size, 10)
- companion object {
- // --------------------------- CONSTRUCTORS ---------------------------
+ operator fun get(key: Int, defaultValue: String): String {
+ return preferences.getString(getString(key), defaultValue)
+ }
+
+ operator fun get(key: Int, defaultValue: Int): Int {
+ try {
+ return preferences.getInt(getString(key), defaultValue)
+ } catch (ex: ClassCastException) {
+ val ret = Integer.parseInt(get(key, defaultValue.toString()))
+ set(key, ret)
+ return ret
+ }
+
+ }
+
+ operator fun get(key: Int, defaultValue: Boolean): Boolean {
+ return preferences.getBoolean(getString(key), defaultValue)
+ }
+
+ operator fun set(key: Int, value: String): Boolean {
+ return preferences.edit()
+ .putString(getString(key), value)
+ .commit()
+ }
+
+ operator fun set(key: Int, value: Int): Boolean {
+ return preferences.edit()
+ .putInt(getString(key), value)
+ .commit()
+ }
+
+ operator fun set(key: Int, value: Boolean): Boolean {
+ return preferences.edit()
+ .putBoolean(getString(key), value)
+ .commit()
+ }
+
+ private fun getString(resID: Int): String? {
+ return Application.instance.getString(resID)
+
+ }
+
+ companion object {
val instance = UserPreferenceHelper()
}
}