Skip to content
This repository was archived by the owner on Dec 18, 2022. It is now read-only.

Commit 03143b6

Browse files
committed
implement logic in settings fragment for saving disable network delay value
1 parent d89a5c9 commit 03143b6

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed

sampleapp/src/main/java/io/matthewnelson/sampleapp/ui/fragments/settings/library/SettingsLibraryFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ class SettingsLibraryFragment : Fragment() {
148148
view.context.applicationContext as Application,
149149
notificationBuilder,
150150
backgroundManagerPolicy,
151+
controllerOptions.getDisableNetworkDelayValue(),
151152
controllerOptions.getRestartDelayValue(),
152153
controllerOptions.getStopDelayTime(),
153154
controllerOptions.disableStopServiceOnTaskRemoved,

sampleapp/src/main/java/io/matthewnelson/sampleapp/ui/fragments/settings/library/components/ControllerOptions.kt

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,32 +87,34 @@ class ControllerOptions(view: View, prefs: Prefs) {
8787
const val RELEASE = "Release"
8888
}
8989

90+
private var initialDisableNetworkDelayTime: Long =
91+
LibraryPrefs.getControllerDisableNetworkDelay(prefs)
92+
9093
private var initialRestartDelayTime: Long =
91-
LibraryPrefs.getControllerRestartDelaySetting(
92-
prefs
93-
)
94+
LibraryPrefs.getControllerRestartDelaySetting(prefs)
9495

9596
private var initialStopDelayTime: Long =
96-
LibraryPrefs.getControllerStopDelaySetting(
97-
prefs
98-
)
97+
LibraryPrefs.getControllerStopDelaySetting(prefs)
9998

10099
private var initialDisableStopServiceOnTaskRemoved: Boolean =
101-
LibraryPrefs.getControllerDisableStopServiceOnTaskRemovedSetting(
102-
prefs
103-
)
100+
LibraryPrefs.getControllerDisableStopServiceOnTaskRemovedSetting(prefs)
101+
104102
var disableStopServiceOnTaskRemoved: Boolean = initialDisableStopServiceOnTaskRemoved
105103
private set
106104

107105
private var initialBuildConfigDebug: Boolean =
108-
LibraryPrefs.getControllerBuildConfigDebugSetting(
109-
prefs
110-
)
106+
LibraryPrefs.getControllerBuildConfigDebugSetting(prefs)
107+
111108
var buildConfigDebug: Boolean = initialBuildConfigDebug
112109
private set
113110

114111
fun saveSettings(prefs: Prefs): Boolean {
115112
var somethingChanged = false
113+
if (getDisableNetworkDelayValue() != initialDisableNetworkDelayTime) {
114+
prefs.write(LibraryPrefs.CONTROLLER_DISABLE_NETWORK_DELAY, getDisableNetworkDelayValue())
115+
initialDisableNetworkDelayTime = getDisableNetworkDelayValue()
116+
somethingChanged = true
117+
}
116118
if (getRestartDelayValue() != initialRestartDelayTime) {
117119
prefs.write(LibraryPrefs.CONTROLLER_RESTART_DELAY, getRestartDelayValue())
118120
initialRestartDelayTime = getRestartDelayValue()
@@ -136,6 +138,9 @@ class ControllerOptions(view: View, prefs: Prefs) {
136138
return somethingChanged
137139
}
138140

141+
fun getDisableNetworkDelayValue(): Long =
142+
getEditTextValueLong(editTextDisableNetworkDelay)
143+
139144
fun getRestartDelayValue(): Long =
140145
getEditTextValueLong(editTextRestartDelay)
141146

@@ -150,6 +155,7 @@ class ControllerOptions(view: View, prefs: Prefs) {
150155
}
151156
}
152157

158+
private lateinit var editTextDisableNetworkDelay: EditText
153159
private lateinit var editTextRestartDelay: EditText
154160
private lateinit var editTextStopDelay: EditText
155161
private lateinit var spinnerDisableStopOnTaskRemoved: Spinner
@@ -165,18 +171,25 @@ class ControllerOptions(view: View, prefs: Prefs) {
165171
}
166172

167173
private fun findViews(view: View) {
174+
editTextDisableNetworkDelay = view.findViewById(R.id.settings_library_edit_text_controller_disable_network_delay)
168175
editTextRestartDelay = view.findViewById(R.id.settings_library_edit_text_controller_restart_delay)
169176
editTextStopDelay = view.findViewById(R.id.settings_library_edit_text_controller_stop_delay)
170177
spinnerDisableStopOnTaskRemoved = view.findViewById(R.id.settings_library_spinner_controller_stop_on_task_removed)
171178
spinnerBuildConfig = view.findViewById(R.id.settings_library_spinner_controller_build_config)
172179
}
173180

174181
private fun initEditTextViews() {
182+
editTextDisableNetworkDelay.filters = arrayOf(InputFilter.LengthFilter(4))
183+
if (initialDisableNetworkDelayTime > 0L)
184+
editTextDisableNetworkDelay.setText(initialDisableNetworkDelayTime.toString())
185+
175186
editTextRestartDelay.filters = arrayOf(InputFilter.LengthFilter(4))
176-
editTextRestartDelay.setText(initialRestartDelayTime.toString())
187+
if (initialRestartDelayTime > 0L)
188+
editTextRestartDelay.setText(initialRestartDelayTime.toString())
177189

178190
editTextStopDelay.filters = arrayOf(InputFilter.LengthFilter(4))
179-
editTextStopDelay.setText(initialStopDelayTime.toString())
191+
if (initialStopDelayTime > 0L)
192+
editTextStopDelay.setText(initialStopDelayTime.toString())
180193
}
181194

182195
private fun initSpinnerControllerDisableStopOnTaskRemoved(context: Context) {

0 commit comments

Comments
 (0)