diff options
| author | Maria Garcia Puyol <mariagpuyol@google.com> | 2016-03-08 21:04:25 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-03-08 21:04:27 +0000 |
| commit | eff0a83a23d1c34ea8a330e461a5660f7de1d768 (patch) | |
| tree | cc643c6534a589f5e1165bb6ebc9c40d24f9524f /core/java/android | |
| parent | d1631dcd2ef451543013b363a076cdae6f708288 (diff) | |
| parent | 3dc88c8f1434cfacc8103e2ee7e1b54573bc27b9 (diff) | |
Merge "Fix bug in setText" into nyc-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/preference/EditTextPreference.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/java/android/preference/EditTextPreference.java b/core/java/android/preference/EditTextPreference.java index ff370422e5a1..9467c228bb9c 100644 --- a/core/java/android/preference/EditTextPreference.java +++ b/core/java/android/preference/EditTextPreference.java @@ -49,6 +49,7 @@ public class EditTextPreference extends DialogPreference { private EditText mEditText; private String mText; + private boolean mTextSet; public EditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); @@ -85,15 +86,16 @@ public class EditTextPreference extends DialogPreference { * @param text The text to save */ public void setText(String text) { - final boolean wasBlocking = shouldDisableDependents(); - - mText = text; - - persistString(text); - - final boolean isBlocking = shouldDisableDependents(); - if (isBlocking != wasBlocking) { - notifyDependencyChange(isBlocking); + // Always persist/notify the first time. + final boolean changed = !TextUtils.equals(mText, text); + if (changed || !mTextSet) { + mText = text; + mTextSet = true; + persistString(text); + if(changed) { + notifyDependencyChange(shouldDisableDependents()); + notifyChanged(); + } } } |
