summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/contacts/ContactsProvider2.java
diff options
context:
space:
mode:
authorRicky Wai <rickywai@google.com>2015-03-07 19:18:58 +0000
committerRicky Wai <rickywai@google.com>2015-03-18 19:02:31 +0000
commit30ec266bb7d0648c05606acc60a5be20a7a87686 (patch)
tree9f327e19133310f74a4f71df1a67a4702c1f4c30 /src/com/android/providers/contacts/ContactsProvider2.java
parentb88a02f9551b991a8bc767867ae9ec1ccac75950 (diff)
downloadpackages_providers_ContactsProvider-30ec266bb7d0648c05606acc60a5be20a7a87686.zip
packages_providers_ContactsProvider-30ec266bb7d0648c05606acc60a5be20a7a87686.tar.gz
packages_providers_ContactsProvider-30ec266bb7d0648c05606acc60a5be20a7a87686.tar.bz2
Add RawContactsEntity.CORP_CONTENT_URI
Bug: 19551325 Change-Id: Ie0c31c951edab91b70b7587ab27b68db4e1f6fcd
Diffstat (limited to 'src/com/android/providers/contacts/ContactsProvider2.java')
-rw-r--r--src/com/android/providers/contacts/ContactsProvider2.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 2c58f38..4abf9ae 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -368,6 +368,7 @@ public class ContactsProvider2 extends AbstractContactsProvider
private static final int SEARCH_SHORTCUT = 12002;
private static final int RAW_CONTACT_ENTITIES = 15001;
+ private static final int RAW_CONTACT_ENTITIES_CORP = 15002;
private static final int PROVIDER_STATUS = 16001;
@@ -1199,6 +1200,7 @@ public class ContactsProvider2 extends AbstractContactsProvider
RAW_CONTACTS_ID_STREAM_ITEMS_ID);
matcher.addURI(ContactsContract.AUTHORITY, "raw_contact_entities", RAW_CONTACT_ENTITIES);
+ matcher.addURI(ContactsContract.AUTHORITY, "raw_contact_entities_corp", RAW_CONTACT_ENTITIES_CORP);
matcher.addURI(ContactsContract.AUTHORITY, "data", DATA);
matcher.addURI(ContactsContract.AUTHORITY, "data/#", DATA_ID);
@@ -6376,6 +6378,18 @@ public class ContactsProvider2 extends AbstractContactsProvider
setTablesAndProjectionMapForRawEntities(qb, uri);
break;
}
+ case RAW_CONTACT_ENTITIES_CORP: {
+ final int corpUserId = UserUtils.getCorpUserId(getContext());
+ if (corpUserId < 0) {
+ // No Corp user or policy not allowed, return empty cursor
+ final String[] outputProjection = (projection != null) ? projection
+ : sRawEntityProjectionMap.getColumnNames();
+ return new MatrixCursor(outputProjection);
+ }
+ final Uri remoteUri = maybeAddUserId(RawContactsEntity.CONTENT_URI, corpUserId);
+ return getContext().getContentResolver().query(remoteUri, projection, selection,
+ selectionArgs, sortOrder);
+ }
case RAW_CONTACT_ID_ENTITY: {
long rawContactId = Long.parseLong(uri.getPathSegments().get(1));