am c47f80f1: Merge "Don\'t assume a default of \'false\' for TwoStatePreference" into jb-mr1-dev

* commit 'c47f80f1ae96e3c8b6a750d68cc12dfbbca97254':
  Don't assume a default of 'false' for TwoStatePreference
This commit is contained in:
Adam Powell
2012-08-10 14:42:07 -07:00
committed by Android Git Automerger

View File

@@ -37,6 +37,7 @@ public abstract class TwoStatePreference extends Preference {
private CharSequence mSummaryOn;
private CharSequence mSummaryOff;
boolean mChecked;
private boolean mCheckedSet;
private boolean mSendClickAccessibilityEvent;
private boolean mDisableDependentsState;
@@ -74,11 +75,16 @@ public abstract class TwoStatePreference extends Preference {
* @param checked The checked state.
*/
public void setChecked(boolean checked) {
if (mChecked != checked) {
// Always persist/notify the first time; don't assume the field's default of false.
final boolean changed = mChecked != checked;
if (changed || !mCheckedSet) {
mChecked = checked;
mCheckedSet = true;
persistBoolean(checked);
notifyDependencyChange(shouldDisableDependents());
notifyChanged();
if (changed) {
notifyDependencyChange(shouldDisableDependents());
notifyChanged();
}
}
}