diff options
| author | Daisuke Miyakawa <dmiyakawa@google.com> | 2009-11-02 15:21:37 +0900 |
|---|---|---|
| committer | Daisuke Miyakawa <dmiyakawa@google.com> | 2009-11-02 15:25:23 +0900 |
| commit | 3f16be2061ddf8daeed959c6e06db9cf561ae304 (patch) | |
| tree | 9b1b662624ae3ec2ca46e496b0277e747bfd3219 /core/java | |
| parent | f20555706c81dcb9fcb1fee9ce263072cd77ea3c (diff) | |
| download | frameworks_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.java | 31 |
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; } |
