package com.james.status.data.preference;
import android.content.Context;
import android.support.v7.widget.SwitchCompat;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import com.james.status.R;
import com.james.status.utils.PreferenceUtils;
public class BooleanPreferenceData extends PreferenceData<Boolean> {
public boolean value;
public BooleanPreferenceData(Context context, Identifier identifier, boolean defaultValue, OnPreferenceChangeListener<Boolean> listener) {
super(context, identifier, listener);
Boolean value = PreferenceUtils.getBooleanPreference(getContext(), identifier.getPreference());
if (value == null) value = defaultValue;
this.value = value;
}
@Override
public ViewHolder getViewHolder(LayoutInflater inflater, ViewGroup parent) {
return new ViewHolder(inflater.inflate(R.layout.item_preference_boolean, parent, false));
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
super.onBindViewHolder(holder, position);
SwitchCompat titleView = (SwitchCompat) holder.v.findViewById(R.id.title);
titleView.setOnCheckedChangeListener(null);
titleView.setChecked(value);
titleView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
value = b;
PreferenceUtils.PreferenceIdentifier identifier = getIdentifier().getPreference();
if (identifier != null)
PreferenceUtils.putPreference(getContext(), getIdentifier().getPreference(), b);
onPreferenceChange(b);
}
});
}
}