Fix settings getting overriden by default value, show summary provider if we have it as a result (#966)

* Fix settings getting overriden by default value, show summary provider if we have it as a result

* Set the value to the default
This commit is contained in:
Daniel Shokouhi 2020-09-21 05:29:07 -07:00 committed by GitHub
parent 63fe60fd8d
commit 2a6890e6e3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -155,7 +155,7 @@ class SensorDetailFragment(
findPreference<PreferenceCategory>("sensor_settings")?.let { findPreference<PreferenceCategory>("sensor_settings")?.let {
if (sensorData.enabled && !sensorSettings.isNullOrEmpty()) { if (sensorData.enabled && !sensorSettings.isNullOrEmpty()) {
sensorSettings.forEach { setting -> sensorSettings.forEach { setting ->
val key = "setting_${setting.name}" val key = "setting_${basicSensor.id}_${setting.name}"
if (setting.valueType == "toggle") { if (setting.valueType == "toggle") {
val pref = findPreference(key) ?: SwitchPreference(requireContext()) val pref = findPreference(key) ?: SwitchPreference(requireContext())
pref.key = key pref.key = key
@ -175,8 +175,10 @@ class SensorDetailFragment(
pref.key = key pref.key = key
pref.title = setting.name pref.title = setting.name
pref.dialogTitle = setting.name pref.dialogTitle = setting.name
pref.text = setting.value if (pref.text != null)
pref.summaryProvider = EditTextPreference.SimpleSummaryProvider.getInstance() pref.summaryProvider = EditTextPreference.SimpleSummaryProvider.getInstance()
else
pref.summary = setting.value
pref.isIconSpaceReserved = false pref.isIconSpaceReserved = false
pref.setOnBindEditTextListener { fieldType -> pref.setOnBindEditTextListener { fieldType ->
@ -193,6 +195,8 @@ class SensorDetailFragment(
setting.valueType setting.valueType
) )
) )
else
pref.text = setting.value
if (!it.contains(pref)) if (!it.contains(pref))
it.addPreference(pref) it.addPreference(pref)
} }