summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Bird <sbird@cyngn.com>2016-02-08 18:44:39 -0800
committerRichard MacGregor <rmacgregor@cyngn.com>2016-03-25 11:42:19 -0700
commit0531541afad86645f003a07df4f0f64a12455ffc (patch)
tree9a41acf48ed69d9944b548b9d5174bb3fc033d9e
parent5f6e03a0b4831b55a4a9d42a3d15e77fa4563b2d (diff)
downloadandroid_packages_apps_ContactsCommon-0531541afad86645f003a07df4f0f64a12455ffc.tar.gz
android_packages_apps_ContactsCommon-0531541afad86645f003a07df4f0f64a12455ffc.tar.bz2
android_packages_apps_ContactsCommon-0531541afad86645f003a07df4f0f64a12455ffc.zip
Setup mimetypes for regular search
Change-Id: I73a1698e62e5a5fa6914e1fa478147ce91668cea
-rw-r--r--src/com/android/contacts/common/list/ContactEntryListAdapter.java11
-rw-r--r--src/com/android/contacts/common/list/ContactEntryListFragment.java12
-rw-r--r--src/com/android/contacts/common/list/PhoneNumberListAdapter.java7
3 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/contacts/common/list/ContactEntryListAdapter.java b/src/com/android/contacts/common/list/ContactEntryListAdapter.java
index 63b5381d..f36407e3 100644
--- a/src/com/android/contacts/common/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/common/list/ContactEntryListAdapter.java
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.CursorLoader;
import android.content.res.Resources;
import android.database.Cursor;
+import android.database.DatabaseUtils;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
@@ -95,6 +96,8 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
private ContactListFilter mFilter;
private boolean mDarkTheme = false;
+ private String mAdditionalMimeTypeSearch;
+
/** Resource used to provide header-text for default filter. */
private CharSequence mDefaultFilterHeaderText;
@@ -388,6 +391,14 @@ public abstract class ContactEntryListAdapter extends IndexerListAdapter {
mDarkTheme = value;
}
+ public void setAdditionalMimeTypeSearch(String value) {
+ mAdditionalMimeTypeSearch = value;
+ }
+
+ public String getAdditionalMimeTypeSearch() {
+ return mAdditionalMimeTypeSearch;
+ }
+
/**
* Updates partitions according to the directory meta-data contained in the supplied
* cursor.
diff --git a/src/com/android/contacts/common/list/ContactEntryListFragment.java b/src/com/android/contacts/common/list/ContactEntryListFragment.java
index b3dde619..4333e634 100644
--- a/src/com/android/contacts/common/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/common/list/ContactEntryListFragment.java
@@ -27,6 +27,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.Loader;
import android.database.Cursor;
+import android.database.DatabaseUtils;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -86,6 +87,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
private static final String KEY_DARK_THEME = "darkTheme";
private static final String KEY_LEGACY_COMPATIBILITY = "legacyCompatibility";
private static final String KEY_DIRECTORY_RESULT_LIMIT = "directoryResultLimit";
+ private static final String KEY_ADDITIONAL_MIMETYPE_SEARCH = "additionalMimeTypeSearch";
private static final String DIRECTORY_ID_ARG_KEY = "directoryId";
@@ -116,6 +118,8 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
private View mView;
private ListView mListView;
+ private String mAdditionalMimeTypeSearch;
+
/**
* Used for keeping track of the scroll state of the list.
*/
@@ -265,6 +269,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
outState.putString(KEY_QUERY_STRING, mQueryString);
outState.putInt(KEY_DIRECTORY_RESULT_LIMIT, mDirectoryResultLimit);
outState.putBoolean(KEY_DARK_THEME, mDarkTheme);
+ outState.putString(KEY_ADDITIONAL_MIMETYPE_SEARCH, mAdditionalMimeTypeSearch);
if (mListView != null) {
outState.putParcelable(KEY_LIST_STATE, mListView.onSaveInstanceState());
@@ -299,6 +304,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
mQueryString = savedState.getString(KEY_QUERY_STRING);
mDirectoryResultLimit = savedState.getInt(KEY_DIRECTORY_RESULT_LIMIT);
mDarkTheme = savedState.getBoolean(KEY_DARK_THEME);
+ mAdditionalMimeTypeSearch = savedState.getString(KEY_ADDITIONAL_MIMETYPE_SEARCH);
// Retrieve list state. This will be applied in onLoadFinished
mListState = savedState.getParcelable(KEY_LIST_STATE);
@@ -831,6 +837,7 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
mAdapter.setSelectionVisible(mSelectionVisible);
mAdapter.setDirectoryResultLimit(mDirectoryResultLimit);
mAdapter.setDarkTheme(mDarkTheme);
+ mAdapter.setAdditionalMimeTypeSearch(mAdditionalMimeTypeSearch);
}
@Override
@@ -916,6 +923,11 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
if (mAdapter != null) mAdapter.setDarkTheme(value);
}
+ public void setAdditionalMimeTypeSearch(String value) {
+ mAdditionalMimeTypeSearch = value;
+ if (mAdapter != null) mAdapter.setAdditionalMimeTypeSearch(value);
+ }
+
/**
* Processes a result returned by the contact picker.
*/
diff --git a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
index 1dacfb9a..d7104c86 100644
--- a/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/common/list/PhoneNumberListAdapter.java
@@ -53,6 +53,8 @@ import com.android.contacts.common.model.account.SimAccountType;
import java.util.ArrayList;
import java.util.List;
+import static com.cyanogen.ambient.incall.CallableConstants.ADDITIONAL_CALLABLE_MIMETYPES_PARAM_KEY;
+
/**
* A cursor adapter for the {@link Phone#CONTENT_ITEM_TYPE} and
* {@link SipAddress#CONTENT_ITEM_TYPE}.
@@ -202,6 +204,11 @@ public class PhoneNumberListAdapter extends ContactEntryListAdapter {
builder.appendPath(query); // Builder will encode the query
builder.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
String.valueOf(directoryId));
+ String mimeTypes = getAdditionalMimeTypeSearch();
+ if (mimeTypes != null) {
+ builder.appendQueryParameter(ADDITIONAL_CALLABLE_MIMETYPES_PARAM_KEY,
+ mimeTypes);
+ }
if (isRemoteDirectoryQuery) {
builder.appendQueryParameter(ContactsContract.LIMIT_PARAM_KEY,
String.valueOf(getDirectoryResultLimit(getDirectoryById(directoryId))));