From cd9ea08d9cb68004b2d5f69302cddf53dc034e7b Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Tue, 15 May 2012 17:17:24 -0700 Subject: [PATCH] Fix amnesia problem in MultiSelectListPreference. Bug: 6478079 Pointer assignment instead of copy was resulting in mValues being cleared on next launch, since mValues became the same pointer as mNewValues. Change-Id: I91014948e4f48056474b3ab31aab6d35e0ad69ca --- core/java/android/preference/MultiSelectListPreference.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/android/preference/MultiSelectListPreference.java b/core/java/android/preference/MultiSelectListPreference.java index 2e8d551df401d..553ce801d75ef 100644 --- a/core/java/android/preference/MultiSelectListPreference.java +++ b/core/java/android/preference/MultiSelectListPreference.java @@ -125,8 +125,9 @@ public class MultiSelectListPreference extends DialogPreference { * @param values The values to set for the key. */ public void setValues(Set values) { - mValues = values; - + mValues.clear(); + mValues.addAll(values); + persistStringSet(values); }