fix: PrefSwitch is reset to false when app exit
This commit is contained in:
@@ -70,10 +70,12 @@ public class DrawerMenuItemViewHolder extends BindableViewHolder<DrawerMenuItem>
|
||||
}
|
||||
mSwitchCompat.setVisibility(VISIBLE);
|
||||
int prefKey = item.getPrefKey();
|
||||
if (prefKey != 0) {
|
||||
if(prefKey == 0){
|
||||
mSwitchCompat.setChecked(item.isChecked());
|
||||
mSwitchCompat.setPrefKey(null);
|
||||
}else {
|
||||
mSwitchCompat.setPrefKey(itemView.getResources().getString(prefKey));
|
||||
}
|
||||
mSwitchCompat.setChecked(item.isChecked());
|
||||
}
|
||||
|
||||
private void onClick() {
|
||||
|
||||
@@ -69,6 +69,9 @@ public class PrefSwitch extends SwitchCompat implements SharedPreferences.OnShar
|
||||
mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
if(mPrefKey != null){
|
||||
setChecked(mSharedPreferences.getBoolean(mPrefKey, mDefaultChecked), false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -40,7 +40,7 @@ public class SwitchCompat extends android.support.v7.widget.SwitchCompat {
|
||||
|
||||
public void setChecked(boolean checked, boolean notify) {
|
||||
mIgnoreCheckedChange = !notify;
|
||||
setChecked(checked);
|
||||
super.setChecked(checked);
|
||||
mIgnoreCheckedChange = false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user