summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorDaisuke Miyakawa <dmiyakawa@google.com>2009-11-02 15:21:37 +0900
committerDaisuke Miyakawa <dmiyakawa@google.com>2009-11-02 15:25:23 +0900
commit3f16be2061ddf8daeed959c6e06db9cf561ae304 (patch)
tree9b1b662624ae3ec2ca46e496b0277e747bfd3219 /core/java
parentf20555706c81dcb9fcb1fee9ce263072cd77ea3c (diff)
downloadframeworks_base-3f16be2061ddf8daeed959c6e06db9cf561ae304.zip
frameworks_base-3f16be2061ddf8daeed959c6e06db9cf561ae304.tar.gz
frameworks_base-3f16be2061ddf8daeed959c6e06db9cf561ae304.tar.bz2
Enable vCard tests connect both importer/exporter tests.
Fix a bug in ContactStruct. Internal issue number: 2195990
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/pim/vcard/ContactStruct.java31
1 files changed, 25 insertions, 6 deletions
diff --git a/core/java/android/pim/vcard/ContactStruct.java b/core/java/android/pim/vcard/ContactStruct.java
index 4069729..67c47d1 100644
--- a/core/java/android/pim/vcard/ContactStruct.java
+++ b/core/java/android/pim/vcard/ContactStruct.java
@@ -714,7 +714,7 @@ public class ContactStruct {
mFullName = propValue;
} else if (propName.equals(Constants.PROPERTY_N)) {
handleNProperty(propValueList);
- } else if (propName.equals(Constants.PROPERTY_NICKNAME)) {
+ } else if (propName.equals(Constants.PROPERTY_SORT_STRING)) {
mPhoneticFullName = propValue;
} else if (propName.equals(Constants.PROPERTY_NICKNAME) ||
propName.equals(Constants.ImportOnly.PROPERTY_X_NICKNAME)) {
@@ -1067,7 +1067,7 @@ public class ContactStruct {
}
operationList.add(builder.build());
- {
+ if (!nameFieldsAreEmpty()) {
builder = ContentProviderOperation.newInsert(Data.CONTENT_URI);
builder.withValueBackReference(StructuredName.RAW_CONTACT_ID, 0);
builder.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
@@ -1078,9 +1078,15 @@ public class ContactStruct {
builder.withValue(StructuredName.PREFIX, mPrefix);
builder.withValue(StructuredName.SUFFIX, mSuffix);
- builder.withValue(StructuredName.PHONETIC_GIVEN_NAME, mPhoneticGivenName);
- builder.withValue(StructuredName.PHONETIC_FAMILY_NAME, mPhoneticFamilyName);
- builder.withValue(StructuredName.PHONETIC_MIDDLE_NAME, mPhoneticMiddleName);
+ if (!(TextUtils.isEmpty(mPhoneticGivenName)
+ && TextUtils.isEmpty(mPhoneticFamilyName)
+ && TextUtils.isEmpty(mPhoneticMiddleName))) {
+ builder.withValue(StructuredName.PHONETIC_GIVEN_NAME, mPhoneticGivenName);
+ builder.withValue(StructuredName.PHONETIC_FAMILY_NAME, mPhoneticFamilyName);
+ builder.withValue(StructuredName.PHONETIC_MIDDLE_NAME, mPhoneticMiddleName);
+ } else if (!TextUtils.isEmpty(mPhoneticFullName)) {
+ builder.withValue(StructuredName.PHONETIC_GIVEN_NAME, mPhoneticFullName);
+ }
builder.withValue(StructuredName.DISPLAY_NAME, getDisplayName());
operationList.add(builder.build());
@@ -1249,9 +1255,9 @@ public class ContactStruct {
}
}
- operationList.add(builder.build());
i++;
}
+ operationList.add(builder.build());
}
}
@@ -1272,6 +1278,19 @@ public class ContactStruct {
}
}
+ private boolean nameFieldsAreEmpty() {
+ return (TextUtils.isEmpty(mFamilyName)
+ && TextUtils.isEmpty(mMiddleName)
+ && TextUtils.isEmpty(mGivenName)
+ && TextUtils.isEmpty(mPrefix)
+ && TextUtils.isEmpty(mSuffix)
+ && TextUtils.isEmpty(mFullName)
+ && TextUtils.isEmpty(mPhoneticFamilyName)
+ && TextUtils.isEmpty(mPhoneticMiddleName)
+ && TextUtils.isEmpty(mPhoneticGivenName)
+ && TextUtils.isEmpty(mPhoneticFullName));
+ }
+
public boolean isIgnorable() {
return getDisplayName().length() == 0;
}