Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb2fded0 authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Fix handling of ListPreference.setValue()"

parents 9a05b31a 94c02a1a
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -16,13 +16,13 @@

package android.preference;


import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.AttributeSet;

/**
@@ -41,6 +41,7 @@ public class ListPreference extends DialogPreference {
    private String mValue;
    private String mSummary;
    private int mClickedDialogEntryIndex;
    private boolean mValueSet;
    
    public ListPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -130,9 +131,16 @@ public class ListPreference extends DialogPreference {
     * @param value The value to set for the key.
     */
    public void setValue(String value) {
        // Always persist/notify the first time.
        final boolean changed = !TextUtils.equals(mValue, value);
        if (changed || !mValueSet) {
            mValue = value;
        
            mValueSet = true;
            persistString(value);
            if (changed) {
                notifyChanged();
            }
        }
    }

    /**