package com.netease.nim.uikit.contact.core.item;
import com.netease.nim.uikit.contact.core.model.ContactGroupStrategy;
import com.netease.nim.uikit.contact.core.query.TextComparator;
import com.netease.nim.uikit.contact.core.model.IContact;
import android.text.TextUtils;
public class ContactItem extends AbsContactItem implements Comparable<ContactItem> {
private final IContact contact;
private final int dataItemType;
public ContactItem(IContact contact, int type) {
this.contact = contact;
this.dataItemType = type;
}
public IContact getContact() {
return contact;
}
@Override
public int getItemType() {
return dataItemType;
}
@Override
public int compareTo(ContactItem item) {
// TYPE
int compare = compareType(item);
if (compare != 0) {
return compare;
} else {
return TextComparator.compareIgnoreCase(getCompare(), item.getCompare());
}
}
@Override
public String belongsGroup() {
IContact contact = getContact();
if (contact == null) {
return ContactGroupStrategy.GROUP_NULL;
}
String group = TextComparator.getLeadingUp(getCompare());
return !TextUtils.isEmpty(group) ? group : ContactGroupStrategy.GROUP_SHARP;
}
private String getCompare() {
IContact contact = getContact();
return contact != null ? contact.getDisplayName() : null;
}
}