}
private String createOneCallLogEntryInternal() {
- final VCardBuilder builder = new VCardBuilder(VCardConfig.VCARD_TYPE_V21_GENERIC_UTF8);
+ // We should not allow vCard composer to re-format phone numbers, since
+ // some characters are (inappropriately) removed and devices do not work fine.
+ final int vcardType = VCardConfig.VCARD_TYPE_V21_GENERIC_UTF8 |
+ VCardConfig.FLAG_REFRAIN_PHONE_NUMBER_FORMATTING;
+ final VCardBuilder builder = new VCardBuilder(vcardType);
String name = mCursor.getString(CALLER_NAME_COLUMN_INDEX);
if (TextUtils.isEmpty(name)) {
name = mCursor.getString(NUMBER_COLUMN_INDEX);
String phoneNumber, boolean vcardVer21) {
final int vcardType = (vcardVer21 ?
VCardConfig.VCARD_TYPE_V21_GENERIC_UTF8 :
- VCardConfig.VCARD_TYPE_V30_GENERIC_UTF8);
+ VCardConfig.VCARD_TYPE_V30_GENERIC_UTF8) |
+ VCardConfig.FLAG_REFRAIN_PHONE_NUMBER_FORMATTING;
final VCardBuilder builder = new VCardBuilder(vcardType);
boolean needCharset = false;
if (!(VCardUtils.containsOnlyPrintableAscii(phoneName))) {
vcardType = VCardConfig.VCARD_TYPE_V30_GENERIC_UTF8;
}
vcardType |= VCardConfig.FLAG_REFRAIN_IMAGE_EXPORT;
+ vcardType |= VCardConfig.FLAG_REFRAIN_PHONE_NUMBER_FORMATTING;
composer = new VCardComposer(mContext, vcardType, true);
composer.addHandler(new HandlerForStringBuffer(op, ownerVCard));