package org.azavea.otm.filters; import org.azavea.otm.R; import org.json.JSONObject; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import android.widget.ToggleButton; public class BooleanFilter extends BaseFilter { public boolean active; public BooleanFilter(String key, String identifier, String label) { super(key, identifier, label); this.active = false; } @Override public void updateFromView(View view) { this.active = ((ToggleButton) view.findViewById(R.id.active)).isChecked(); } @Override public boolean isActive() { return active; } @Override public View createView(LayoutInflater inflater, Activity activity) { View toggle = inflater.inflate(R.layout.filter_toggle_control, null); ((TextView) toggle.findViewById(R.id.filter_label)).setText(label); if (isActive()) { setToggle(toggle, true); } return toggle; } @Override public void clear(View view) { active = false; setToggle(view, false); } @Override public JSONObject getFilterObject() { return buildNestedFilter(this.identifier, "IS", this.active); } private void setToggle(View toggle, boolean checked) { ((ToggleButton) toggle.findViewById(R.id.active)).setChecked(checked); } }