OSDN Git Service

Use FLAG_REFRAIN_PHONE_NUMBER_FORMATTING to prevent discard
authorDaisuke Miyakawa <dmiyakawa@google.com>
Thu, 15 Apr 2010 02:04:42 +0000 (11:04 +0900)
committerJaikumar Ganesh <jaikumar@google.com>
Thu, 13 May 2010 19:23:20 +0000 (12:23 -0700)
of "+", "p", "w" etc in phone numbers.

Change-Id: Ic69d60e5831e59a497c523aa62c753922edf06f6

src/com/android/bluetooth/pbap/BluetoothPbapCallLogComposer.java
src/com/android/bluetooth/pbap/BluetoothPbapVcardManager.java

index c5449fa..1db8723 100755 (executable)
@@ -185,7 +185,11 @@ public class BluetoothPbapCallLogComposer {
     }
 
     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);
@@ -213,7 +217,8 @@ public class BluetoothPbapCallLogComposer {
             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))) {
index de8a3fd..cd704a4 100644 (file)
@@ -433,6 +433,7 @@ public class BluetoothPbapVcardManager {
                     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));