From 2a6890e6e3b1bb2eee33dcd12f060a4f6577d44d Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Mon, 21 Sep 2020 05:29:07 -0700 Subject: [PATCH] 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 --- .../companion/android/sensors/SensorDetailFragment.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/homeassistant/companion/android/sensors/SensorDetailFragment.kt b/app/src/main/java/io/homeassistant/companion/android/sensors/SensorDetailFragment.kt index 7c6b785aa..9dd8ca43f 100644 --- a/app/src/main/java/io/homeassistant/companion/android/sensors/SensorDetailFragment.kt +++ b/app/src/main/java/io/homeassistant/companion/android/sensors/SensorDetailFragment.kt @@ -155,7 +155,7 @@ class SensorDetailFragment( findPreference("sensor_settings")?.let { if (sensorData.enabled && !sensorSettings.isNullOrEmpty()) { sensorSettings.forEach { setting -> - val key = "setting_${setting.name}" + val key = "setting_${basicSensor.id}_${setting.name}" if (setting.valueType == "toggle") { val pref = findPreference(key) ?: SwitchPreference(requireContext()) pref.key = key @@ -175,8 +175,10 @@ class SensorDetailFragment( pref.key = key pref.title = setting.name pref.dialogTitle = setting.name - pref.text = setting.value - pref.summaryProvider = EditTextPreference.SimpleSummaryProvider.getInstance() + if (pref.text != null) + pref.summaryProvider = EditTextPreference.SimpleSummaryProvider.getInstance() + else + pref.summary = setting.value pref.isIconSpaceReserved = false pref.setOnBindEditTextListener { fieldType -> @@ -193,6 +195,8 @@ class SensorDetailFragment( setting.valueType ) ) + else + pref.text = setting.value if (!it.contains(pref)) it.addPreference(pref) }