summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/searchfragment
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-03-16 12:06:07 -0700
committerCopybara-Service <copybara-piper@google.com>2018-03-16 12:41:46 -0700
commit1c41a0aa8773add900db6dfd09edc38cb08d3b43 (patch)
tree62866c7be433eac3b2c2698f583bf2cca48e3998 /java/com/android/dialer/searchfragment
parentd0fc91676dc50d1bde2247599401d6509aa8068b (diff)
Work contacts quick contact badge no longer crashes.
Apperently contact ids are invalid for work contacts, so the URI needs to exclude them. Bug: 72755010 Test: manual PiperOrigin-RevId: 189374262 Change-Id: Ibeaa555dc035e14ea67905c342369188ecfd1832
Diffstat (limited to 'java/com/android/dialer/searchfragment')
-rw-r--r--java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
index f6cdc4fc6..6e0a05a77 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
@@ -130,9 +130,19 @@ public final class DirectoryContactViewHolder extends RecyclerView.ViewHolder
}
private static Uri getContactUri(SearchCursor cursor) {
- long contactId = cursor.getLong(Projections.ID);
String lookupKey = cursor.getString(Projections.LOOKUP_KEY);
- return Contacts.getLookupUri(contactId, lookupKey)
+
+ Uri baseUri;
+ // If the contact is a local work contact, leave the contact id out of the uri since it
+ // isn't valid.
+ if (DirectoryCompat.isOnlyEnterpriseDirectoryId(cursor.getDirectoryId())) {
+ baseUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey);
+ } else {
+ long contactId = cursor.getLong(Projections.ID);
+ baseUri = Contacts.getLookupUri(contactId, lookupKey);
+ }
+
+ return baseUri
.buildUpon()
.appendQueryParameter(
ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(cursor.getDirectoryId()))