Search in sources :

Example 1 with ContactBinding

use of eu.siacs.conversations.databinding.ContactBinding in project Conversations by siacs.

the class ListItemAdapter method getView.

@Override
public View getView(int position, View view, ViewGroup parent) {
    LayoutInflater inflater = activity.getLayoutInflater();
    ListItem item = getItem(position);
    ViewHolder viewHolder;
    if (view == null) {
        ContactBinding binding = DataBindingUtil.inflate(inflater, R.layout.contact, parent, false);
        viewHolder = ViewHolder.get(binding);
        view = binding.getRoot();
    } else {
        viewHolder = (ViewHolder) view.getTag();
    }
    view.setBackground(StyledAttributes.getDrawable(view.getContext(), R.attr.list_item_background));
    List<ListItem.Tag> tags = item.getTags(activity);
    if (tags.size() == 0 || !this.showDynamicTags) {
        viewHolder.tags.setVisibility(View.GONE);
    } else {
        viewHolder.tags.setVisibility(View.VISIBLE);
        viewHolder.tags.removeAllViewsInLayout();
        for (ListItem.Tag tag : tags) {
            TextView tv = (TextView) inflater.inflate(R.layout.list_item_tag, viewHolder.tags, false);
            tv.setText(tag.getName());
            tv.setBackgroundColor(tag.getColor());
            tv.setOnClickListener(this.onTagTvClick);
            viewHolder.tags.addView(tv);
        }
    }
    final Jid jid = item.getJid();
    if (jid != null) {
        viewHolder.jid.setVisibility(View.VISIBLE);
        viewHolder.jid.setText(IrregularUnicodeDetector.style(activity, jid));
    } else {
        viewHolder.jid.setVisibility(View.GONE);
    }
    viewHolder.name.setText(EmojiWrapper.transform(item.getDisplayName()));
    AvatarWorkerTask.loadAvatar(item, viewHolder.avatar, R.dimen.avatar);
    return view;
}
Also used : Jid(eu.siacs.conversations.xmpp.Jid) LayoutInflater(android.view.LayoutInflater) TextView(android.widget.TextView) ListItem(eu.siacs.conversations.entities.ListItem) ContactBinding(eu.siacs.conversations.databinding.ContactBinding)

Aggregations

LayoutInflater (android.view.LayoutInflater)1 TextView (android.widget.TextView)1 ContactBinding (eu.siacs.conversations.databinding.ContactBinding)1 ListItem (eu.siacs.conversations.entities.ListItem)1 Jid (eu.siacs.conversations.xmpp.Jid)1