Add timestamp support for call history vcard

This commit is contained in:
Lixin Yue
2009-09-09 16:27:21 +08:00
committed by Jaikumar Ganesh
parent 466dbbfd45
commit 2d3f9c5593
2 changed files with 34 additions and 0 deletions

View File

@@ -22,7 +22,9 @@ import android.content.ContentResolver;
import android.content.ContentUris; import android.content.ContentUris;
import android.content.ContentValues; import android.content.ContentValues;
import android.net.Uri; import android.net.Uri;
import android.provider.CallLog;
import android.provider.Contacts; import android.provider.Contacts;
import android.provider.CallLog.Calls;
import android.provider.Contacts.ContactMethods; import android.provider.Contacts.ContactMethods;
import android.provider.Contacts.Extensions; import android.provider.Contacts.Extensions;
import android.provider.Contacts.GroupMembership; import android.provider.Contacts.GroupMembership;
@@ -88,6 +90,8 @@ public class ContactStruct {
/** Only for GET. Use addExtension() to PUT */ /** Only for GET. Use addExtension() to PUT */
public Map<String, List<String>> extensionMap; public Map<String, List<String>> extensionMap;
public String timeStamp;
// Use organizationList instead when handling ORG. // Use organizationList instead when handling ORG.
@Deprecated @Deprecated
public String company; public String company;
@@ -147,6 +151,32 @@ public class ContactStruct {
phoneList.add(phoneData); phoneList.add(phoneData);
} }
/**
* Add call history time stamp and call type.
* @param type call type
* @param timeStamp timeStamp
*/
public void addCallHistoryTimeStamp(int type, String date) {
// Extension for call history as defined in
// in the Specification for Ic Mobile Communcation - ver 1.1,
// Oct 2000. This is used to send the details of the call
// history - missed, incoming, outgoing along with date and time
// to the requesting device (For example, transferring phone book
// when connected over bluetooth)
// X-IRMC-CALL-DATETIME;MISSED:20050320T100000
String strCallType;
if (type == Calls.INCOMING_TYPE) {
strCallType = "INCOMING";
} else if (type == Calls.OUTGOING_TYPE) {
strCallType = "OUTGOING";
} else if (type == Calls.MISSED_TYPE) {
strCallType = "MISSED";
} else {
strCallType = "";
}
timeStamp = "X-IRMC-CALL-DATETIME;" + strCallType + ":" + date;
}
/** /**
* Add a contactmethod info to contactmethodList. * Add a contactmethod info to contactmethodList.
* @param kind integer value defined in Contacts.java * @param kind integer value defined in Contacts.java

View File

@@ -149,6 +149,10 @@ public class VCardComposer {
appendContactMethodStr(struct.contactmethodList, vcardversion); appendContactMethodStr(struct.contactmethodList, vcardversion);
} }
if (!isNull(struct.timeStamp)) {
mResult.append(struct.timeStamp).append(mNewline);
}
mResult.append("END:VCARD").append(mNewline); mResult.append("END:VCARD").append(mNewline);
return mResult.toString(); return mResult.toString();
} }