summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Angela Wang <angelala@google.com> 2024-12-19 11:35:13 +0000
committer Angela Wang <angelala@google.com> 2024-12-19 12:14:32 +0000
commitebf1f791732a447aaef4016fbd866a284e7fc8f2 (patch)
treeebebbdfbd96908e8617fe77a553ff80052ac743b
parent7d92eb07d692a0874d444e3e158724a228b74fbc (diff)
Clear exisiting listeners in SliderPreference.onBindViewHolder()
If the view is reused, the old listeners will still remain on the instance and cause wrong behavior. Should clear the old listeners before adding the new one. Flag: EXEMPT update library Test: visual test Bug: 349675952 Bug: 385089184 Change-Id: Iaee4996132422bb0e0d41984cd7982df4bde67f6
-rw-r--r--packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java b/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java
index 76f0d194c71d..4315238ad7c1 100644
--- a/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java
+++ b/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java
@@ -268,7 +268,9 @@ public class SliderPreference extends Preference {
mSlider.setValueFrom(mMin);
mSlider.setValueTo(mMax);
mSlider.setValue(mSliderValue);
+ mSlider.clearOnSliderTouchListeners();
mSlider.addOnSliderTouchListener(mTouchListener);
+ mSlider.clearOnChangeListeners();
mSlider.addOnChangeListener(mChangeListener);
mSlider.setEnabled(isEnabled());