summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard MacGregor <rmacgregor@cyngn.com>2015-10-14 16:38:04 -0700
committerRichard MacGregor <rmacgregor@cyngn.com>2016-03-25 11:42:18 -0700
commit64356db4b1a7a7105d8124ff18e7de6137a1676c (patch)
tree4ef372cc38dc797ce17930f030672014001a1c42 /src
parent0fb9fa4edf2a56f25c6747765c05f3c421261792 (diff)
downloadandroid_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.java19
-rw-r--r--src/com/android/contacts/common/database/ContactUpdateUtils.java9
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);
}
}