Skip to content

Commit 5abd34b

Browse files
committed
refactoring
1 parent 42648e0 commit 5abd34b

2 files changed

Lines changed: 39 additions & 56 deletions

File tree

app/src/main/java/com/nlinterface/activities/SettingsActivity.kt

Lines changed: 36 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import com.nlinterface.R
1414
import com.nlinterface.databinding.ActivitySettingsBinding
1515
import com.nlinterface.utility.ActivityType
1616
import com.nlinterface.utility.GlobalParameters
17+
import com.nlinterface.utility.GlobalParameters.ThemeChoice
18+
import com.nlinterface.utility.GlobalParameters.KeepScreenOn
1719
import com.nlinterface.utility.STTInputType
1820
import com.nlinterface.utility.setViewRelativeSize
1921
import com.nlinterface.viewmodels.SettingsViewModel
@@ -57,6 +59,8 @@ class SettingsActivity : AppCompatActivity() {
5759

5860
private lateinit var lastCommand: String
5961
private lateinit var lastResponse: String
62+
63+
private val globalParameters = GlobalParameters.instance!!
6064

6165
/**
6266
* The onCreate Function initializes the view by binding the Activity and the Layout,
@@ -93,26 +97,17 @@ class SettingsActivity : AppCompatActivity() {
9397
private fun configureUI() {
9498

9599
voiceActivationButton = findViewById<View>(R.id.voice_activation_bt) as ImageButton
96-
voiceActivationButton.setOnClickListener {
97-
onVoiceActivationButtonClick()
98-
}
99-
100+
voiceActivationButton.setOnClickListener { onVoiceActivationButtonClick() }
101+
100102
setViewRelativeSize(voiceActivationButton, 1.0, 0.33)
101103

102104
themeButton = findViewById(R.id.settings_theme)
103-
themeButton.text = themeOptions[GlobalParameters.instance!!.themeChoice.ordinal]
104-
105-
themeButton.setOnClickListener {
106-
onThemeButtonClick()
107-
}
108-
105+
themeButton.setOnClickListener { onThemeButtonClick() }
106+
themeButton.text = themeOptions[globalParameters.themeChoice.ordinal]
107+
109108
keepScreenOnButton = findViewById(R.id.settings_keep_screen_on)
110-
keepScreenOnButton.text =
111-
keepScreenOnOptions[GlobalParameters.instance!!.keepScreenOn.ordinal]
112-
113-
keepScreenOnButton.setOnClickListener {
114-
onKeepScreenOnButtonClick()
115-
}
109+
keepScreenOnButton.setOnClickListener { onKeepScreenOnButtonClick() }
110+
keepScreenOnButton.text = keepScreenOnOptions[globalParameters.keepScreenOn.ordinal]
116111

117112
}
118113

@@ -122,18 +117,14 @@ class SettingsActivity : AppCompatActivity() {
122117
*/
123118
private fun onThemeButtonClick() {
124119

125-
if (
126-
GlobalParameters.instance!!.themeChoice.ordinal ==
127-
GlobalParameters.ThemeChoice.values().size - 1
128-
) {
129-
GlobalParameters.instance!!.themeChoice = GlobalParameters.ThemeChoice.values()[0]
120+
if (globalParameters.themeChoice.ordinal == ThemeChoice.values().size - 1) {
121+
globalParameters.themeChoice = ThemeChoice.values()[0]
130122
} else {
131-
GlobalParameters.instance!!.themeChoice =
132-
GlobalParameters.ThemeChoice.values()[
133-
GlobalParameters.instance!!.themeChoice.ordinal + 1
134-
]
123+
globalParameters.themeChoice =
124+
ThemeChoice.values()[globalParameters.themeChoice.ordinal + 1]
135125
}
136-
themeButton.text = themeOptions[GlobalParameters.instance!!.themeChoice.ordinal]
126+
127+
themeButton.text = themeOptions[globalParameters.themeChoice.ordinal]
137128

138129
viewModel.say(resources.getString(R.string.new_theme_setting, themeButton.text))
139130
}
@@ -144,20 +135,14 @@ class SettingsActivity : AppCompatActivity() {
144135
*/
145136
private fun onKeepScreenOnButtonClick() {
146137

147-
if (
148-
GlobalParameters.instance!!.keepScreenOn.ordinal ==
149-
GlobalParameters.KeepScreenOn.values().size - 1
150-
) {
151-
GlobalParameters.instance!!.keepScreenOn =
152-
GlobalParameters.KeepScreenOn.values()[0]
138+
if (globalParameters.keepScreenOn.ordinal == KeepScreenOn.values().size - 1) {
139+
globalParameters.keepScreenOn = KeepScreenOn.values()[0]
153140
} else {
154-
GlobalParameters.instance!!.keepScreenOn =
155-
GlobalParameters.KeepScreenOn.values()[
156-
GlobalParameters.instance!!.keepScreenOn.ordinal + 1
157-
]
141+
globalParameters.keepScreenOn =
142+
KeepScreenOn.values()[globalParameters.keepScreenOn.ordinal + 1]
158143
}
159-
keepScreenOnButton.text =
160-
keepScreenOnOptions[GlobalParameters.instance!!.keepScreenOn.ordinal]
144+
145+
keepScreenOnButton.text = keepScreenOnOptions[globalParameters.keepScreenOn.ordinal]
161146

162147
viewModel.say(resources.getString(R.string.new_screen_setting, keepScreenOnButton.text))
163148
}
@@ -172,15 +157,18 @@ class SettingsActivity : AppCompatActivity() {
172157
getString(R.string.settings_preferences_key),
173158
Context.MODE_PRIVATE
174159
) ?: return
160+
175161
with(sharedPref.edit()) {
162+
163+
176164
putString(
177165
getString(R.string.settings_keep_screen_on_key),
178-
GlobalParameters.instance!!.keepScreenOn.toString()
166+
globalParameters.keepScreenOn.toString()
179167
)
180168
putString(
181-
getString(R.string.settings_theme_key),
182-
GlobalParameters.instance!!.themeChoice.toString()
169+
getString(R.string.settings_theme_key), globalParameters.themeChoice.toString()
183170
)
171+
184172
apply()
185173
}
186174
}
@@ -296,14 +284,8 @@ class SettingsActivity : AppCompatActivity() {
296284

297285
viewModel.say(
298286
"${resources.getString(R.string.your_options_are)} " +
299-
"${resources.getString(R.string.add_an_item)}," +
300-
"${resources.getString(R.string.remove_an_item)}," +
301-
"${resources.getString(R.string.add_an_item_to_the_cart)}," +
302-
"${resources.getString(R.string.remove_an_item_from_the_cart)}," +
303-
"${resources.getString(R.string.check_if_an_item_is_on_the_list)}," +
304-
"${resources.getString(R.string.list_all_grocery_items)}," +
305-
"${resources.getString(R.string.list_all_items_not_in_cart)}," +
306-
"${resources.getString(R.string.list_all_items_in_cart)}," +
287+
"${resources.getString(R.string.change_theme)}," +
288+
"${resources.getString(R.string.change_screen_settings)}," +
307289
"${resources.getString(R.string.navigate_to_grocery_list)}," +
308290
"${resources.getString(R.string.navigate_to_place_details)} and" +
309291
"${resources.getString(R.string.navigate_to_settings)}."
@@ -340,21 +322,21 @@ class SettingsActivity : AppCompatActivity() {
340322
when (response) {
341323

342324
resources.getString(R.string.default_theme) -> {
343-
viewModel.setTheme(GlobalParameters.ThemeChoice.SYSTEM_DEFAULT)
325+
viewModel.setTheme(ThemeChoice.SYSTEM_DEFAULT)
344326
viewModel.say(
345327
resources.getString(R.string.new_theme_setting, " default")
346328
)
347329
}
348330

349331
resources.getString(R.string.light_theme) -> {
350-
viewModel.setTheme(GlobalParameters.ThemeChoice.LIGHT)
332+
viewModel.setTheme(ThemeChoice.LIGHT)
351333
viewModel.say(
352334
resources.getString(R.string.new_theme_setting, " light theme")
353335
)
354336
}
355337

356338
resources.getString(R.string.dark_theme) -> {
357-
viewModel.setTheme(GlobalParameters.ThemeChoice.DARK)
339+
viewModel.setTheme(ThemeChoice.DARK)
358340
viewModel.say(
359341
resources.getString(R.string.new_theme_setting, " dark theme")
360342
)
@@ -369,15 +351,15 @@ class SettingsActivity : AppCompatActivity() {
369351
when (response) {
370352

371353
resources.getString(R.string.keep_screen_always_on) -> {
372-
viewModel.setScreenSettings(GlobalParameters.KeepScreenOn.YES)
354+
viewModel.setScreenSettings(KeepScreenOn.YES)
373355
viewModel.say(
374356
resources.getString(R.string.new_screen_setting,
375357
" keep screen always on")
376358
)
377359
}
378360

379361
resources.getString(R.string.dim_screen_after_a_while) -> {
380-
viewModel.setScreenSettings(GlobalParameters.KeepScreenOn.NO)
362+
viewModel.setScreenSettings(KeepScreenOn.NO)
381363
viewModel.say(
382364
resources.getString(R.string.new_screen_setting,
383365
" dim screen after a while")

app/src/main/java/com/nlinterface/utility/GlobalParameters.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ open class GlobalParameters protected constructor() {
2929

3030
// make it a Singleton
3131
companion object {
32+
3233
private var mInstance: GlobalParameters? = null
3334

3435
@get:Synchronized
@@ -53,13 +54,13 @@ open class GlobalParameters protected constructor() {
5354
context.resources.getString(R.string.settings_keep_screen_on_key),
5455
KeepScreenOn.NO.toString()
5556
)
56-
instance!!.keepScreenOn = GlobalParameters.KeepScreenOn.valueOf(prefKeepScreenOn!!)
57+
instance!!.keepScreenOn = KeepScreenOn.valueOf(prefKeepScreenOn!!)
5758

5859
val prefTheme = sharedPref.getString(
5960
context.resources.getString(R.string.settings_theme_key),
6061
ThemeChoice.SYSTEM_DEFAULT.toString()
6162
)
62-
instance!!.themeChoice = GlobalParameters.ThemeChoice.valueOf(prefTheme!!)
63+
instance!!.themeChoice = ThemeChoice.valueOf(prefTheme!!)
6364
}
6465

6566
fun updateTheme() {

0 commit comments

Comments
 (0)