Contacts Picker: Better handling when only names are requested.
Bug: 925374, 860467
Change-Id: If11e171966d2bca09254ec5ff942c75556c0b490
Reviewed-on: https://chromium-review.googlesource.com/c/1436261
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#626975}(cherry picked from commit 1d84cbe033265384397af87f7cf74796d101324e)
Reviewed-on: https://chromium-review.googlesource.com/c/1470195
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/branch-heads/3683@{#388}
Cr-Branched-From: e51029943e0a38dd794b73caaf6373d5496ae783-refs/heads/master@{#625896}diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsFetcherWorkerTask.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsFetcherWorkerTask.java
index 5d693a44..000f1c1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsFetcherWorkerTask.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsFetcherWorkerTask.java
@@ -43,6 +43,9 @@
// The callback to use to communicate the results.
private ContactsRetrievedCallback mCallback;
+ // Whether names were requested by the website.
+ private final boolean mIncludeNames;
+
// Whether to include emails in the data fetched.
private final boolean mIncludeEmails;
@@ -51,12 +54,18 @@
/**
* A ContactsFetcherWorkerTask constructor.
+ * @param contentResolver The ContentResolver to use to fetch the contacts data.
* @param callback The callback to use to communicate back the results.
+ * @param includeNames Whether names were requested by the website.
+ * @param includeEmails Whether to include emails in the data fetched.
+ * @param includeTel Whether to include telephones in the data fetched.
*/
public ContactsFetcherWorkerTask(ContentResolver contentResolver,
- ContactsRetrievedCallback callback, boolean includeEmails, boolean includeTel) {
+ ContactsRetrievedCallback callback, boolean includeNames, boolean includeEmails,
+ boolean includeTel) {
mContentResolver = contentResolver;
mCallback = callback;
+ mIncludeNames = includeNames;
mIncludeEmails = includeEmails;
mIncludeTel = includeTel;
}
@@ -147,7 +156,7 @@
cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME_PRIMARY));
List<String> email = mIncludeEmails ? emailMap.get(id) : null;
List<String> tel = mIncludeTel ? phoneMap.get(id) : null;
- if (email != null || tel != null)
+ if (mIncludeNames || email != null || tel != null)
contacts.add(new ContactDetails(id, name, email, tel));
} while (cursor.moveToNext());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java
index 85b84c27..29462be 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java
@@ -91,8 +91,9 @@
mContentResolver = contentResolver;
if (getAllContacts() == null && sTestContacts == null) {
- mWorkerTask = new ContactsFetcherWorkerTask(
- mContentResolver, this, mCategoryView.includeEmails, mCategoryView.includeTel);
+ mWorkerTask = new ContactsFetcherWorkerTask(mContentResolver, this,
+ mCategoryView.includeNames, mCategoryView.includeEmails,
+ mCategoryView.includeTel);
mWorkerTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
mContactDetails = sTestContacts;