Search in sources :

Example 6 with Name

use of org.thoughtcrime.securesms.contactshare.Contact.Name in project Signal-Android by WhisperSystems.

the class SharedContactRepository method getName.

@WorkerThread
@Nullable
private Name getName(long contactId) {
    try (Cursor cursor = contactsDatabase.getNameDetails(contactId)) {
        if (cursor != null && cursor.moveToFirst()) {
            String cursorDisplayName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME));
            String cursorGivenName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
            String cursorFamilyName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
            String cursorPrefix = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.PREFIX));
            String cursorSuffix = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.SUFFIX));
            String cursorMiddleName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));
            Name name = new Name(cursorDisplayName, cursorGivenName, cursorFamilyName, cursorPrefix, cursorSuffix, cursorMiddleName);
            if (!name.isEmpty()) {
                return name;
            }
        }
    }
    String org = contactsDatabase.getOrganizationName(contactId);
    if (!TextUtils.isEmpty(org)) {
        return new Name(org, org, null, null, null, null);
    }
    return null;
}
Also used : Cursor(android.database.Cursor) Name(org.thoughtcrime.securesms.contactshare.Contact.Name) WorkerThread(androidx.annotation.WorkerThread) Nullable(androidx.annotation.Nullable)

Aggregations

Name (org.thoughtcrime.securesms.contactshare.Contact.Name)6 Phone (org.thoughtcrime.securesms.contactshare.Contact.Phone)3 Nullable (androidx.annotation.Nullable)2 WorkerThread (androidx.annotation.WorkerThread)2 Avatar (org.thoughtcrime.securesms.contactshare.Contact.Avatar)2 Email (org.thoughtcrime.securesms.contactshare.Contact.Email)2 PostalAddress (org.thoughtcrime.securesms.contactshare.Contact.PostalAddress)2 SharedContact (org.whispersystems.signalservice.api.messages.shared.SharedContact)2 Cursor (android.database.Cursor)1 ArrayList (java.util.ArrayList)1 LinkedList (java.util.LinkedList)1 Attachment (org.thoughtcrime.securesms.attachments.Attachment)1 PointerAttachment (org.thoughtcrime.securesms.attachments.PointerAttachment)1