summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2010-03-25 19:43:04 -0700
committerDmitri Plotnikov <dplotnikov@google.com>2010-03-25 19:58:56 -0700
commit7ceafd016eb07d2de808d18cd5a9463efaee781d (patch)
tree589bfe22af428661d7a2c46973ab4a7e4af5641a
parentf8536aaa7a52b9a7a353bc54e158becdbe79ec87 (diff)
downloadandroid_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.java12
-rw-r--r--tests/src/com/android/providers/contacts/ContactsProvider2Test.java13
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() {