OSDN Git Service

Fix amnesia problem in MultiSelectListPreference.
authorAmith Yamasani <yamasani@google.com>
Wed, 16 May 2012 00:17:24 +0000 (17:17 -0700)
committerAmith Yamasani <yamasani@google.com>
Wed, 16 May 2012 00:17:24 +0000 (17:17 -0700)
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

index 2e8d551..553ce80 100644 (file)
@@ -125,8 +125,9 @@ public class MultiSelectListPreference extends DialogPreference {
      * @param values The values to set for the key.
      */
     public void setValues(Set<String> values) {
-        mValues = values;
-        
+        mValues.clear();
+        mValues.addAll(values);
+
         persistStringSet(values);
     }