diff options
author | Dmitri Plotnikov <dplotnikov@google.com> | 2009-09-24 17:10:47 -0700 |
---|---|---|
committer | Dmitri Plotnikov <dplotnikov@google.com> | 2009-09-25 15:54:17 -0700 |
commit | d60cf9ba1d039f1a22375f56c18356e0d4f8ca14 (patch) | |
tree | 015c96a62ed85b67d152db7c036a7ec9042b5608 /src | |
parent | a3bd0246ca3741877488bca7aadd91c79b2fd8d2 (diff) | |
download | ContactsProvider-d60cf9ba1d039f1a22375f56c18356e0d4f8ca14.tar.gz |
As we are now searching for contacts by organization, adding support for search by email as well.
Change-Id: I0856f5a6391bc7f11f8e7063e0bb2cc908ce5348
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/providers/contacts/ContactsProvider2.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java index be95f709..4d85dd1d 100644 --- a/src/com/android/providers/contacts/ContactsProvider2.java +++ b/src/com/android/providers/contacts/ContactsProvider2.java @@ -4553,14 +4553,19 @@ public class ContactsProvider2 extends SQLiteContentProvider implements OnAccoun } public void appendContactFilterAsNestedQuery(StringBuilder sb, String filterParam) { - sb.append("(SELECT DISTINCT " + RawContacts.CONTACT_ID + " FROM " + Tables.RAW_CONTACTS - + " JOIN name_lookup ON(" + RawContactsColumns.CONCRETE_ID + "=raw_contact_id)" - + " WHERE normalized_name GLOB '"); + sb.append("(" + + "SELECT DISTINCT " + RawContacts.CONTACT_ID + + " FROM " + Tables.RAW_CONTACTS + + " JOIN " + Tables.NAME_LOOKUP + + " ON(" + RawContactsColumns.CONCRETE_ID + "=" + + NameLookupColumns.RAW_CONTACT_ID + ")" + + " WHERE normalized_name GLOB '"); sb.append(NameNormalizer.normalize(filterParam)); - sb.append("*' AND (" - + NameLookupColumns.NAME_TYPE + "=" + NameLookupType.NAME_COLLATION_KEY - + " OR " - + NameLookupColumns.NAME_TYPE + "=" + NameLookupType.NICKNAME + "))"); + sb.append("*' AND " + NameLookupColumns.NAME_TYPE + " IN(" + + NameLookupType.NAME_COLLATION_KEY + "," + + NameLookupType.EMAIL_BASED_NICKNAME + "," + + NameLookupType.NICKNAME + "," + + NameLookupType.ORGANIZATION + "))"); } public String getRawContactsByFilterAsNestedQuery(String filterParam) { @@ -4576,11 +4581,16 @@ public class ContactsProvider2 extends SQLiteContentProvider implements OnAccoun private void appendRawContactsByNormalizedNameFilter(StringBuilder sb, String normalizedName, String limit) { - sb.append("(SELECT DISTINCT raw_contact_id FROM name_lookup WHERE normalized_name GLOB '"); + sb.append("(" + + "SELECT DISTINCT " + NameLookupColumns.RAW_CONTACT_ID + + " FROM " + Tables.NAME_LOOKUP + + " WHERE " + NameLookupColumns.NORMALIZED_NAME + + " GLOB '"); sb.append(normalizedName); sb.append("*' AND " + NameLookupColumns.NAME_TYPE + " IN (" + NameLookupType.NAME_COLLATION_KEY + "," + NameLookupType.NICKNAME + "," + + NameLookupType.EMAIL_BASED_NICKNAME + "," + NameLookupType.ORGANIZATION + ")"); if (limit != null) { |