package org.wikipedia.edit.summaries;
import android.content.Context;
import android.content.res.Resources;
import android.support.annotation.ColorInt;
import android.support.v4.content.res.ResourcesCompat;
import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout.LayoutParams;
import org.wikipedia.R;
import org.wikipedia.util.DimenUtil;
public class EditSummaryTag extends AppCompatTextView {
public static final int MARGIN = 4;
public static final int PADDING = 8;
private Resources resources;
private boolean selected = false;
public EditSummaryTag(Context context) {
super(context);
setupEditSummaryTag(context);
}
public EditSummaryTag(Context context, AttributeSet attrs) {
super(context, attrs);
setupEditSummaryTag(context);
}
public EditSummaryTag(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setupEditSummaryTag(context);
}
private void setupEditSummaryTag(Context context) {
resources = context.getResources();
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
int margin = (int) DimenUtil.dpToPx(MARGIN);
int padding = (int) DimenUtil.dpToPx(PADDING);
params.setMargins(margin, margin, margin, margin);
setLayoutParams(params);
setPadding(padding, padding, padding, padding);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
selected = !selected;
updateState();
}
});
updateState();
}
@Override
public String toString() {
return getText().toString();
}
public boolean getSelected() {
return selected;
}
@Override
public void setSelected(boolean selected) {
this.selected = selected;
updateState();
}
private void updateState() {
setBackgroundResource(selected ? R.drawable.editpage_improve_tag_selected : R.drawable.editpage_improve_tag_unselected);
@ColorInt int textColor = ResourcesCompat.getColor(resources, selected ? android.R.color.white : R.color.foundation_blue, null);
setTextColor(textColor);
}
}