Fix local profile in contacts list
1. Removed profile from search
2. Added profile when account filter is used.
Bug: 5142989 User's profile shouldn't show up on during a search.
Change-Id: I224f89f81264b83094a46cee57d45900dad07848
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index fc9abe7..2380345 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -378,7 +378,8 @@
return;
}
- if (!isSearchMode() && mFilter != null) {
+ boolean searchMode = isSearchMode();
+ if (!searchMode && mFilter != null) {
adapter.setFilter(mFilter);
if (mSelectionRequired
|| mFilter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT) {
@@ -387,8 +388,8 @@
}
}
- // Display the user's profile.
- adapter.setIncludeProfile(true);
+ // Display the user's profile if not in search mode
+ adapter.setIncludeProfile(!searchMode);
}
@Override
diff --git a/src/com/android/contacts/list/DefaultContactListAdapter.java b/src/com/android/contacts/list/DefaultContactListAdapter.java
index e9804f5..f081921 100644
--- a/src/com/android/contacts/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/list/DefaultContactListAdapter.java
@@ -196,7 +196,8 @@
+ "SELECT DISTINCT " + RawContacts.CONTACT_ID
+ " FROM raw_contacts"
+ " WHERE " + RawContacts.ACCOUNT_TYPE + "=?"
- + " AND " + RawContacts.ACCOUNT_NAME + "=?");
+ + " AND " + RawContacts.ACCOUNT_NAME + "=?"
+ + " OR " + Contacts.IS_USER_PROFILE + "=1");
selectionArgs.add(filter.accountType);
selectionArgs.add(filter.accountName);
if (filter.dataSet != null) {