Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c41a0aa authored by calderwoodra's avatar calderwoodra Committed by Copybara-Service
Browse files

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
parent d0fc9167
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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()))