summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDaisuke Miyakawa <dmiyakawa@google.com>2009-10-27 08:07:25 +0900
committerDaisuke Miyakawa <dmiyakawa@google.com>2009-10-27 08:10:35 +0900
commitd263a064f7a77768c3e70a98f286960b67dc1aa5 (patch)
tree426578f3d0b717d77ff8120f72409f65ac4d18af /core
parent57e824f7c33caf1e8c9cb08795464df4b8dbb218 (diff)
downloadframeworks_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.java15
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
}