Skip to content

Commit 7459dbe

Browse files
committed
Improve code in UiPreferences
1 parent 7090644 commit 7459dbe

1 file changed

Lines changed: 27 additions & 23 deletions

File tree

app/src/main/java/com/amrdeveloper/linkhub/util/UiPreferences.kt

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,131 +25,135 @@ private const val PASSWORD_TEXT_KEY = "password_text"
2525

2626
class UiPreferences(private val context: Context) {
2727

28+
private val preferences by lazy {
29+
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
30+
}
31+
2832
fun setThemeType(theme: Theme) {
29-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
33+
preferences.edit {
3034
putString(UI_THEME_KEY, theme.name)
3135
}
3236
}
3337

3438
fun setEnableClickCounter(enable: Boolean) {
35-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
39+
preferences.edit {
3640
putBoolean(UI_COUNTER_KEY, enable)
3741
}
3842
}
3943

4044
fun setEnableQuickActionButton(enable: Boolean) {
41-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
45+
preferences.edit {
4246
putBoolean(UI_QUICK_ACTION_BUTTON_KEY, enable)
4347
}
4448
}
4549

4650
fun setEnableAutoSave(enable: Boolean) {
47-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
51+
preferences.edit {
4852
putBoolean(UI_AUTO_SAVE_KEY, enable)
4953
}
5054
}
5155

5256
fun setEnableDefaultFolderEnabled(enable: Boolean) {
53-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
57+
preferences.edit {
5458
putBoolean(UI_DEFAULT_FOLDER_KEY, enable)
5559
}
5660
}
5761

5862
fun setEnableOpenLinkByClickOption(enable: Boolean) {
59-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
63+
preferences.edit {
6064
putBoolean(LINK_DEFAULT_ACTION_KEY, enable)
6165
}
6266
}
6367

6468
fun setMinimalModeEnabled(enable: Boolean) {
65-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
69+
preferences.edit {
6670
putBoolean(UI_MINIMAL_MODE_KEY, enable)
6771
}
6872
}
6973

7074
fun setDefaultFolderId(folderId: Int) {
71-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
75+
preferences.edit {
7276
putInt(DEFAULT_FOLDER_NAME, folderId)
7377
}
7478
}
7579

7680
fun deleteDefaultFolder() {
77-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
81+
preferences.edit {
7882
putInt(DEFAULT_FOLDER_NAME, -1)
7983
}
8084
}
8185

8286
fun getThemeType(): Theme {
83-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
87+
val preferences = preferences
8488
val themeName = preferences.getString(UI_THEME_KEY, Theme.WHITE.name)
8589
return Theme.valueOf(themeName.toString())
8690
}
8791

8892
fun setFontFamilyName(name: String) {
89-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
93+
preferences.edit {
9094
putString(UI_FONT_FAMILY_KEY, name)
9195
}
9296
}
9397

9498
fun setEnablePassword(enable: Boolean) {
95-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
99+
preferences.edit {
96100
putBoolean(PASSWORD_ENABLE_KEY, enable)
97101
}
98102
}
99103

100104
fun setPasswordText(password: String) {
101-
context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE).edit {
105+
preferences.edit {
102106
putString(PASSWORD_TEXT_KEY, password)
103107
}
104108
}
105109

106110
fun isClickCounterEnabled(): Boolean {
107-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
111+
val preferences = preferences
108112
return preferences.getBoolean(UI_COUNTER_KEY, true)
109113
}
110114

111115
fun isQuickActionButtonEnabled(): Boolean {
112-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
116+
val preferences = preferences
113117
return preferences.getBoolean(UI_QUICK_ACTION_BUTTON_KEY, false)
114118
}
115119

116120
fun isAutoSavingEnabled(): Boolean {
117-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
121+
val preferences = preferences
118122
return preferences.getBoolean(UI_AUTO_SAVE_KEY, true)
119123
}
120124

121125
fun isDefaultFolderEnabled(): Boolean {
122-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
126+
val preferences = preferences
123127
return preferences.getBoolean(UI_DEFAULT_FOLDER_KEY, false)
124128
}
125129

126130
fun isMinimalModeEnabled(): Boolean {
127-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
131+
val preferences = preferences
128132
return preferences.getBoolean(UI_MINIMAL_MODE_KEY, false)
129133
}
130134

131135
fun isOpenLinkByClickOptionEnabled(): Boolean {
132-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
136+
val preferences = preferences
133137
return preferences.getBoolean(LINK_DEFAULT_ACTION_KEY, false)
134138
}
135139

136140
fun getDefaultFolderId(): Int {
137-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
141+
val preferences = preferences
138142
return preferences.getInt(DEFAULT_FOLDER_NAME, -1)
139143
}
140144

141145
fun getFontFamilyName(): String {
142-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
146+
val preferences = preferences
143147
return preferences.getString(UI_FONT_FAMILY_KEY, "Default") ?: "Default"
144148
}
145149

146150
fun isPasswordEnabled(): Boolean {
147-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
151+
val preferences = preferences
148152
return preferences.getBoolean(PASSWORD_ENABLE_KEY, false)
149153
}
150154

151155
fun getPasswordText(): String {
152-
val preferences = context.getSharedPreferences(UI_PREFERENCE_NAME, Context.MODE_PRIVATE)
156+
val preferences = preferences
153157
return preferences.getString(PASSWORD_TEXT_KEY, "") ?: ""
154158
}
155159
}

0 commit comments

Comments
 (0)