diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-11-04 20:49:35 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-11-04 20:49:35 +0300 |
commit | 400559de73c827e45ba80f100dadee874530fb13 (patch) | |
tree | 742371470c83e90f86ad8f202d21dca62940835e /app/src/main/java/it/niedermann/nextcloud/deck/ui | |
parent | d847d5ccd477f14d57feff4d96ecc1c6ad08358c (diff) |
Display email address for contacts without phone number
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java index 80f98d30a..32df573bd 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/picker/ContactAdapter.java @@ -9,6 +9,7 @@ import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.ContactsContract; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.ViewGroup; @@ -22,6 +23,7 @@ import java.util.function.Consumer; import it.niedermann.nextcloud.deck.databinding.ItemPickerNativeBinding; import it.niedermann.nextcloud.deck.databinding.ItemPickerUserBinding; +import static android.provider.ContactsContract.CommonDataKinds.Email.DATA; import static android.provider.ContactsContract.CommonDataKinds.Phone.LOOKUP_KEY; import static android.provider.ContactsContract.CommonDataKinds.Phone.NUMBER; import static android.provider.ContactsContract.Contacts.CONTENT_LOOKUP_URI; @@ -69,12 +71,21 @@ public class ContactAdapter extends AbstractPickerAdapter<RecyclerView.ViewHolde final Bitmap thumbnail = BitmapFactory.decodeStream(inputStream); String contactInformation = ""; final String lookupKey = cursor.getString(columnIndex); - final Cursor phoneNumberCursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{NUMBER}, LOOKUP_KEY + " = ?", new String[]{lookupKey}, null); - if (phoneNumberCursor != null) { - if (phoneNumberCursor.moveToFirst()) { - contactInformation = phoneNumberCursor.getString(phoneNumberCursor.getColumnIndex(NUMBER)); + final Cursor phoneCursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{NUMBER}, LOOKUP_KEY + " = ?", new String[]{lookupKey}, null); + if (phoneCursor != null) { + if (phoneCursor.moveToFirst()) { + contactInformation = phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER)); + } + phoneCursor.close(); + } + if (TextUtils.isEmpty(contactInformation)) { + final Cursor emailCursor = contentResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, new String[]{DATA}, LOOKUP_KEY + " = ?", new String[]{lookupKey}, null); + if (emailCursor != null) { + if (emailCursor.moveToFirst()) { + contactInformation = emailCursor.getString(emailCursor.getColumnIndex(DATA)); + } + emailCursor.close(); } - phoneNumberCursor.close(); } final String finalContactInformation = contactInformation; new Handler(Looper.getMainLooper()).post(() -> viewHolder.bind(ContentUris.withAppendedId(CONTENT_LOOKUP_URI, id), thumbnail, displayName, finalContactInformation, onSelect)); |