diff options
author | Dmitri Plotnikov <dplotnikov@google.com> | 2010-03-25 19:43:04 -0700 |
---|---|---|
committer | Dmitri Plotnikov <dplotnikov@google.com> | 2010-03-25 19:58:56 -0700 |
commit | 7ceafd016eb07d2de808d18cd5a9463efaee781d (patch) | |
tree | 589bfe22af428661d7a2c46973ab4a7e4af5641a | |
parent | f8536aaa7a52b9a7a353bc54e158becdbe79ec87 (diff) | |
download | android_packages_providers_ContactsProvider-7ceafd016eb07d2de808d18cd5a9463efaee781d.tar.gz android_packages_providers_ContactsProvider-7ceafd016eb07d2de808d18cd5a9463efaee781d.tar.bz2 android_packages_providers_ContactsProvider-7ceafd016eb07d2de808d18cd5a9463efaee781d.zip |
Reflecting name/phonetic name change in name lookup
Bug: 2152608
Change-Id: I56130e9a2ea0a3e7fc62490caf02040591ce6b19
-rw-r--r-- | src/com/android/providers/contacts/ContactsProvider2.java | 12 | ||||
-rw-r--r-- | tests/src/com/android/providers/contacts/ContactsProvider2Test.java | 13 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java index fa738094..e1d6da64 100644 --- a/src/com/android/providers/contacts/ContactsProvider2.java +++ b/src/com/android/providers/contacts/ContactsProvider2.java @@ -1177,15 +1177,19 @@ public class ContactsProvider2 extends SQLiteContentProvider implements OnAccoun fixStructuredNameComponents(augmented, values); super.update(db, values, c, callerIsSyncAdapter); - if (values.containsKey(StructuredName.DISPLAY_NAME)) { - String name = values.getAsString(StructuredName.DISPLAY_NAME); + if (values.containsKey(StructuredName.DISPLAY_NAME) || + values.containsKey(StructuredName.PHONETIC_FAMILY_NAME) || + values.containsKey(StructuredName.PHONETIC_MIDDLE_NAME) || + values.containsKey(StructuredName.PHONETIC_GIVEN_NAME)) { + augmented.putAll(values); + String name = augmented.getAsString(StructuredName.DISPLAY_NAME); deleteNameLookup(dataId); - Integer fullNameStyle = values.getAsInteger(StructuredName.FULL_NAME_STYLE); + Integer fullNameStyle = augmented.getAsInteger(StructuredName.FULL_NAME_STYLE); insertNameLookupForStructuredName(rawContactId, dataId, name, fullNameStyle != null ? mNameSplitter.getAdjustedFullNameStyle(fullNameStyle) : FullNameStyle.UNDEFINED); - insertNameLookupForPhoneticName(rawContactId, dataId, values); + insertNameLookupForPhoneticName(rawContactId, dataId, augmented); } fixRawContactDisplayName(db, rawContactId); triggerAggregation(rawContactId); diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java index 520aad8d..728f6336 100644 --- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java +++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java @@ -413,7 +413,7 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { nameValues.put(StructuredName.FAMILY_NAME, "Goulash"); nameValues.put(StructuredName.PHONETIC_FAMILY_NAME, "goo"); nameValues.put(StructuredName.PHONETIC_GIVEN_NAME, "LASH"); - insertStructuredName(rawContactId, nameValues); + Uri nameUri = insertStructuredName(rawContactId, nameValues); long contactId = queryContactId(rawContactId); values.put(Contacts.CONTACT_PRESENCE, StatusUpdates.INVISIBLE); @@ -430,6 +430,17 @@ public class ContactsProvider2Test extends BaseContactsProvider2Test { // Phonetic name with given/family reversed should not match Uri filterUri3 = Uri.withAppendedPath(Contacts.CONTENT_FILTER_URI, "lashgoo"); assertEquals(0, getCount(filterUri3, null, null)); + + nameValues.clear(); + nameValues.put(StructuredName.PHONETIC_FAMILY_NAME, "ga"); + nameValues.put(StructuredName.PHONETIC_GIVEN_NAME, "losh"); + + mResolver.update(nameUri, nameValues, null, null); + + assertContactFilter(contactId, "galosh"); + + Uri filterUri4 = Uri.withAppendedPath(Contacts.CONTENT_FILTER_URI, "goolish"); + assertEquals(0, getCount(filterUri4, null, null)); } public void testQueryContactStrequent() { |