diff options
| author | Daisuke Miyakawa <dmiyakawa@google.com> | 2009-10-27 08:07:25 +0900 |
|---|---|---|
| committer | Daisuke Miyakawa <dmiyakawa@google.com> | 2009-10-27 08:10:35 +0900 |
| commit | d263a064f7a77768c3e70a98f286960b67dc1aa5 (patch) | |
| tree | 426578f3d0b717d77ff8120f72409f65ac4d18af /core | |
| parent | 57e824f7c33caf1e8c9cb08795464df4b8dbb218 (diff) | |
| download | frameworks_base-d263a064f7a77768c3e70a98f286960b67dc1aa5.zip frameworks_base-d263a064f7a77768c3e70a98f286960b67dc1aa5.tar.gz frameworks_base-d263a064f7a77768c3e70a98f286960b67dc1aa5.tar.bz2 | |
Add a test for vCard composer.
Also modify the behavior of vCard composer so that it honer FN than N toward
DISPLAY_NAME.
Internal issuen number: 2195990
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/pim/vcard/VCardComposer.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/core/java/android/pim/vcard/VCardComposer.java b/core/java/android/pim/vcard/VCardComposer.java index c5afb73..8eabd4b 100644 --- a/core/java/android/pim/vcard/VCardComposer.java +++ b/core/java/android/pim/vcard/VCardComposer.java @@ -742,10 +742,9 @@ public class VCardComposer { encodedSuffix = escapeCharacters(suffix); } - // N property. This order is specified by vCard spec and does not depend on countries. builder.append(Constants.PROPERTY_N); if (shouldAppendCharsetAttribute(Arrays.asList( - familyName, givenName, middleName, prefix, suffix))) { + encodedFamily, encodedGiven, encodedMiddle, encodedPrefix, encodedSuffix))) { builder.append(VCARD_ATTR_SEPARATOR); builder.append(mVCardAttributeCharset); } @@ -766,9 +765,15 @@ public class VCardComposer { builder.append(encodedSuffix); builder.append(VCARD_COL_SEPARATOR); - final String formattedName = VCardUtils.constructNameFromElements( + final String formattedName; + if (!TextUtils.isEmpty(displayName)) { + formattedName = displayName; + } else { + formattedName = VCardUtils.constructNameFromElements( VCardConfig.getNameOrderType(mVCardType), encodedFamily, encodedMiddle, encodedGiven, encodedPrefix, encodedSuffix); + } + final boolean reallyUseQuotedPrintableToFullname = !mRefrainsQPToPrimaryProperties && !VCardUtils.containsOnlyNonCrLfPrintableAscii(formattedName); @@ -1501,7 +1506,7 @@ public class VCardComposer { final StringBuilder tmpBuilder = new StringBuilder(); final int length = unescaped.length(); for (int i = 0; i < length; i++) { - char ch = unescaped.charAt(i); + final char ch = unescaped.charAt(i); switch (ch) { case ';': { tmpBuilder.append('\\'); @@ -1512,7 +1517,7 @@ public class VCardComposer { if (i + 1 < length) { char nextChar = unescaped.charAt(i); if (nextChar == '\n') { - continue; + break; } else { // fall through } |
