package com.progscrape.ui; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.progscrape.R; import org.apmem.tools.layouts.FlowLayout; import java.util.List; import butterknife.ButterKnife; import butterknife.InjectView; public class StoryView extends LinearLayout { @InjectView(R.id.title) TextView text; @InjectView(R.id.icon_hn) ImageView hn; @InjectView(R.id.icon_reddit) ImageView reddit; @InjectView(R.id.icon_lobsters) ImageView lobsters; @InjectView(R.id.arrow) ImageView arrow; @InjectView(R.id.tags) FlowLayout tags; public StoryView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onFinishInflate() { super.onFinishInflate(); if (isInEditMode()) return; ButterKnife.inject(this); } public void setText(String text) { this.text.setText(text); } public void setIconsVisible(boolean hn, boolean reddit, boolean lobsters) { this.hn.setVisibility(hn ? View.VISIBLE : View.GONE); this.reddit.setVisibility(reddit ? View.VISIBLE : View.GONE); this.lobsters.setVisibility(lobsters ? View.VISIBLE : View.GONE); } public void setTags(List<String> tagStrings) { // Clear out the old tags while (tags.getChildAt(tags.getChildCount() - 1) instanceof LinearLayout) { tags.removeViewAt(tags.getChildCount() - 1); } if (tagStrings != null) { for (String tag : tagStrings) { View view = LayoutInflater.from(getContext()).inflate(R.layout.story_tag_item, tags, false); ((TextView)view.findViewById(R.id.tag_text)).setText(tag); tags.addView(view); } } } public void setHasHref(boolean hasHref) { this.arrow.setVisibility(hasHref ? View.VISIBLE : View.GONE); } }