package com.netease.nim.uikit.contact.core.viewholder;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.netease.nim.uikit.NimUIKit;
import com.netease.nim.uikit.R;
import com.netease.nim.uikit.cache.TeamDataCache;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.contact.core.item.ContactItem;
import com.netease.nim.uikit.contact.core.model.ContactDataAdapter;
import com.netease.nim.uikit.contact.core.model.IContact;
import com.netease.nimlib.sdk.team.model.Team;
public class ContactHolder extends AbsContactViewHolder<ContactItem> {
protected HeadImageView head;
protected TextView name;
protected TextView desc;
protected RelativeLayout headLayout;
@Override
public void refresh(ContactDataAdapter adapter, int position, final ContactItem item) {
// contact info
final IContact contact = item.getContact();
if (contact.getContactType() == IContact.Type.Friend) {
head.loadBuddyAvatar(contact.getContactId());
} else {
Team team = TeamDataCache.getInstance().getTeamById(contact.getContactId());
head.loadTeamIconByTeam(team);
}
name.setText(contact.getDisplayName());
headLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (contact.getContactType() == IContact.Type.Friend) {
if (NimUIKit.getContactEventListener() != null) {
NimUIKit.getContactEventListener().onAvatarClick(context, item.getContact().getContactId());
}
}
}
});
// query result
desc.setVisibility(View.GONE);
/*
TextQuery query = adapter.getQuery();
HitInfo hitInfo = query != null ? ContactSearch.hitInfo(contact, query) : null;
if (hitInfo != null && !hitInfo.text.equals(contact.getDisplayName())) {
desc.setVisibility(View.VISIBLE);
} else {
desc.setVisibility(View.GONE);
}
*/
}
@Override
public View inflate(LayoutInflater inflater) {
View view = inflater.inflate(R.layout.nim_contacts_item, null);
headLayout = (RelativeLayout) view.findViewById(R.id.head_layout);
head = (HeadImageView) view.findViewById(R.id.contacts_item_head);
name = (TextView) view.findViewById(R.id.contacts_item_name);
desc = (TextView) view.findViewById(R.id.contacts_item_desc);
return view;
}
}