From f8cddf344d2eda6f2bce6292c3af7a1496687055 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Fri, 6 Jun 2025 18:46:15 +0200 Subject: [PATCH] Android: Clear listener in SwitchSettingViewHolder If bind was called more than once for a SwitchSettingViewHolder, the line `binding.settingSwitch.isChecked = setting.isChecked` would accidentally trigger the listener registered during the previous bind call. --- .../features/settings/ui/viewholder/SwitchSettingViewHolder.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt index ddcf1d39b5c..2907b948b68 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt @@ -32,6 +32,9 @@ class SwitchSettingViewHolder( binding.textSettingName.text = item.name binding.textSettingDescription.text = item.description + // Make sure we don't trigger any listener set earlier + binding.settingSwitch.setOnCheckedChangeListener(null) + binding.settingSwitch.isChecked = setting.isChecked binding.settingSwitch.isEnabled = setting.isEditable