diff options
author | Stephen Bird <sbird@cyngn.com> | 2016-02-08 18:44:39 -0800 |
---|---|---|
committer | Richard MacGregor <rmacgregor@cyngn.com> | 2016-03-25 11:42:19 -0700 |
commit | 0531541afad86645f003a07df4f0f64a12455ffc (patch) | |
tree | 9a41acf48ed69d9944b548b9d5174bb3fc033d9e | |
parent | 5f6e03a0b4831b55a4a9d42a3d15e77fa4563b2d (diff) | |
download | android_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
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)))); |