use Events for birthdays
diff --git a/src/com/android/exchange/adapter/ContactsSyncAdapter.java b/src/com/android/exchange/adapter/ContactsSyncAdapter.java
index b38d866..3348755 100644
--- a/src/com/android/exchange/adapter/ContactsSyncAdapter.java
+++ b/src/com/android/exchange/adapter/ContactsSyncAdapter.java
@@ -43,8 +43,8 @@
import android.provider.ContactsContract.RawContacts;
import android.provider.ContactsContract.Settings;
import android.provider.ContactsContract.SyncState;
-import android.provider.ContactsContract.CommonDataKinds.Birthday;
import android.provider.ContactsContract.CommonDataKinds.Email;
+import android.provider.ContactsContract.CommonDataKinds.Event;
import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
import android.provider.ContactsContract.CommonDataKinds.Im;
import android.provider.ContactsContract.CommonDataKinds.Nickname;
@@ -1178,8 +1178,13 @@
public void addBirthday(Entity entity, String birthday) {
RowBuilder builder =
- createBuilder(entity, Birthday.CONTENT_ITEM_TYPE, -1, birthday);
- builder.withValue(Birthday.BIRTHDAY, birthday);
+ typedRowBuilder(entity, Event.CONTENT_ITEM_TYPE, Event.TYPE_BIRTHDAY);
+ ContentValues cv = builder.cv;
+ if (cv != null && cvCompareString(cv, Event.START_DATE, birthday)) {
+ return;
+ }
+ builder.withValue(Event.START_DATE, birthday);
+ builder.withValue(Event.TYPE, Event.TYPE_BIRTHDAY);
add(builder.build());
}
@@ -1611,8 +1616,8 @@
}
private void sendBirthday(Serializer s, ContentValues cv) throws IOException {
- if (cv.containsKey(Birthday.BIRTHDAY)) {
- s.data(Tags.CONTACTS_BIRTHDAY, cv.getAsString(Birthday.BIRTHDAY));
+ if (cv.containsKey(Event.START_DATE)) {
+ s.data(Tags.CONTACTS_BIRTHDAY, cv.getAsString(Event.START_DATE));
}
}
@@ -1831,8 +1836,11 @@
sendOrganization(s, cv);
} else if (mimeType.equals(Im.CONTENT_ITEM_TYPE)) {
sendIm(s, cv, imCount++);
- } else if (mimeType.equals(Birthday.CONTENT_ITEM_TYPE)) {
- sendBirthday(s, cv);
+ } else if (mimeType.equals(Event.CONTENT_ITEM_TYPE)) {
+ Integer eventType = cv.getAsInteger(Event.TYPE);
+ if (eventType != null && eventType.equals(Event.TYPE_BIRTHDAY)) {
+ sendBirthday(s, cv);
+ }
} else if (mimeType.equals(GroupMembership.CONTENT_ITEM_TYPE)) {
// We must gather these, and send them together (below)
groupIds.add(cv.getAsInteger(GroupMembership.GROUP_ROW_ID));