From 3f16be2061ddf8daeed959c6e06db9cf561ae304 Mon Sep 17 00:00:00 2001 From: Daisuke Miyakawa Date: Mon, 2 Nov 2009 15:21:37 +0900 Subject: Enable vCard tests connect both importer/exporter tests. Fix a bug in ContactStruct. Internal issue number: 2195990 --- core/java/android/pim/vcard/ContactStruct.java | 31 +++++++++++++++++++++----- 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'core/java/android/pim') 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; } -- cgit v1.1