Fix bug #15016050 Stability: ISE in Settings: Cannot add twice the same OnSwitchChangeListener

- add/remove the OnSwitchChangeListener into onResume/onPause

Change-Id: Idb1ac3997a2dbc0ca387ed67bbbbcc1a431d8642
This commit is contained in:
Fabrice Di Meglio
2014-05-16 10:32:29 -07:00
parent 3f7e0571d3
commit 08190bbb75

View File

@@ -387,19 +387,6 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
mEnabledSwitch.setEnabled(false); mEnabledSwitch.setEnabled(false);
return; return;
} }
mSwitchBar.addOnSwitchChangeListener(this);
}
@Override
public void onStart() {
super.onStart();
mSwitchBar.show();
}
@Override
public void onStop() {
super.onStop();
mSwitchBar.hide();
} }
private boolean removePreferenceForProduction(Preference preference) { private boolean removePreferenceForProduction(Preference preference) {
@@ -464,6 +451,17 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
mEnabledSwitch.setChecked(mLastEnabledState); mEnabledSwitch.setChecked(mLastEnabledState);
setPrefsEnabledState(mLastEnabledState); setPrefsEnabledState(mLastEnabledState);
} }
mSwitchBar.addOnSwitchChangeListener(this);
mSwitchBar.show();
}
@Override
public void onPause() {
super.onPause();
mSwitchBar.removeOnSwitchChangeListener(this);
mSwitchBar.hide();
} }
void updateCheckBox(CheckBoxPreference checkBox, boolean value) { void updateCheckBox(CheckBoxPreference checkBox, boolean value) {