diff options
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.kt | 53 |
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() } } |