diff options
author | Richard MacGregor <rmacgregor@cyngn.com> | 2015-10-14 16:38:04 -0700 |
---|---|---|
committer | Richard MacGregor <rmacgregor@cyngn.com> | 2016-03-25 11:42:18 -0700 |
commit | 64356db4b1a7a7105d8124ff18e7de6137a1676c (patch) | |
tree | 4ef372cc38dc797ce17930f030672014001a1c42 /src | |
parent | 0fb9fa4edf2a56f25c6747765c05f3c421261792 (diff) | |
download | android_packages_apps_ContactsCommon-64356db4b1a7a7105d8124ff18e7de6137a1676c.tar.gz android_packages_apps_ContactsCommon-64356db4b1a7a7105d8124ff18e7de6137a1676c.tar.bz2 android_packages_apps_ContactsCommon-64356db4b1a7a7105d8124ff18e7de6137a1676c.zip |
[2/3] Show incall plugin contacts in favorites
Add ability to show contacts with incall callable mimetypes as
starred/favorites.
Change-Id: Ibe0a31f28e8aad3002b338d2943c829ccd5d7be1
Tickets: CD-58 CD-60 CD-119
(cherry picked from commit 6a0294b2986068cf19a1c31276025fdef0b11352)
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/contacts/common/ContactTileLoaderFactory.java | 19 | ||||
-rw-r--r-- | src/com/android/contacts/common/database/ContactUpdateUtils.java | 9 |
2 files changed, 25 insertions, 3 deletions
diff --git a/src/com/android/contacts/common/ContactTileLoaderFactory.java b/src/com/android/contacts/common/ContactTileLoaderFactory.java index 6c1f0280..1ee69ccd 100644 --- a/src/com/android/contacts/common/ContactTileLoaderFactory.java +++ b/src/com/android/contacts/common/ContactTileLoaderFactory.java @@ -111,6 +111,25 @@ public final class ContactTileLoaderFactory { return new CursorLoader(context, builder.build(), COLUMNS_PHONE_ONLY, null, null, null); } + public static CursorLoader createStrequentCallableExtendedLoader(Context context, + String additionalQueryParameterKey, String additionalQueryParameterValue) { + Uri.Builder builder = Contacts.CONTENT_STREQUENT_URI.buildUpon(); + builder.appendQueryParameter(ContactsContract.STREQUENT_PHONE_ONLY, "true"); + // Do not show contacts in disabled SIM card + String disabledSimFilter = MoreContactUtils.getDisabledSimFilter(); + if (!TextUtils.isEmpty(disabledSimFilter)) { + builder.appendQueryParameter(RawContacts.ACCOUNT_NAME, disabledSimFilter); + builder.appendQueryParameter(SimContactsConstants + .WITHOUT_SIM_FLAG, "true"); + } + if (!TextUtils.isEmpty(additionalQueryParameterKey) && + !TextUtils.isEmpty(additionalQueryParameterValue)) { + builder.appendQueryParameter(additionalQueryParameterKey, + additionalQueryParameterValue); + } + return new CursorLoader(context, builder.build(), COLUMNS_PHONE_ONLY, null, null, null); + } + public static CursorLoader createStarredPhoneOnlyLoader(Context context) { return new CursorLoader(context, Contacts.CONTENT_URI, COLUMNS, Contacts.STARRED + "=? AND " + Contacts.HAS_PHONE_NUMBER + "=?", diff --git a/src/com/android/contacts/common/database/ContactUpdateUtils.java b/src/com/android/contacts/common/database/ContactUpdateUtils.java index 1bd08aa9..b4ea4254 100644 --- a/src/com/android/contacts/common/database/ContactUpdateUtils.java +++ b/src/com/android/contacts/common/database/ContactUpdateUtils.java @@ -19,6 +19,7 @@ package com.android.contacts.common.database; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; +import android.net.Uri; import android.provider.ContactsContract; import android.util.Log; @@ -40,8 +41,10 @@ public class ContactUpdateUtils { values.put(ContactsContract.Data.IS_SUPER_PRIMARY, 1); values.put(ContactsContract.Data.IS_PRIMARY, 1); - context.getContentResolver().update( - ContentUris.withAppendedId(ContactsContract.Data.CONTENT_URI, dataId), - values, null, null); + // This overrides "is_read_only" by saying we are a sync adapter + // TODO: Might want to create better abstractions around Contacts instead faking syncadapter + Uri uri = ContentUris.withAppendedId(ContactsContract.Data.CONTENT_URI, dataId).buildUpon() + .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build(); + context.getContentResolver().update(uri, values, null, null); } } |