package at.dasz.KolabDroid.ContactsContract;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import android.content.ContentValues;
import android.provider.ContactsContract;
import at.dasz.KolabDroid.Utils;
public class Contact
{
private int id;
//private String fullName, uid;
private String uid;
private String givenName, familyName;
private String birthday = ""; //string as in android for now
public String getBirthday()
{
return birthday;
}
public void setBirthday(String birthday)
{
this.birthday = birthday;
}
public String getGivenName()
{
return givenName;
}
public void setGivenName(String givenName)
{
this.givenName = givenName;
}
public String getFamilyName()
{
return familyName;
}
public void setFamilyName(String familyName)
{
this.familyName = familyName;
}
private List<ContactMethod> contactMethods = new ArrayList<ContactMethod>();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
//@Deprecated
/*
public void setFullName(String fullName)
{
//this.fullName = fullName;
Log.e("EEEE", "setFullname not suported anymore");
}
*/
public String getFullName()
{
return givenName + " " + familyName;
//return fullName;
}
public List<ContactMethod> getContactMethods()
{
return contactMethods;
}
public ContentValues toContentValues()
{
ContentValues result = new ContentValues();
result.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, getFullName());
//result.put(People.NAME, this.fullName);
return result;
}
@Override
public String toString()
{
return getFullName() + " with " + getContactMethods().size()
+ " contact methods";
}
public String getLocalHash()
{
ArrayList<String> contents = new ArrayList<String>(contactMethods
.size() + 1);
contents.add(getFullName() == null ? "no name" : getFullName());
Collections.sort(contactMethods, new Comparator<ContactMethod>() {
public int compare(ContactMethod cm1, ContactMethod cm2)
{
return cm1.toString().compareTo(cm2.toString());
}
});
for (ContactMethod cm : contactMethods)
{
contents.add(cm.getData());
}
if(!"".equals(birthday))
{
contents.add(birthday);
}
else
{
contents.add("noBday");
}
return Utils.join("|", contents.toArray());
}
}