From bc6bb15fded5766cc61bb88cbad0684c4692a90d Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 20 Sep 2018 11:24:34 +0000 Subject: [PATCH] Use contact display names Fixes #117 --- .../eu/faircode/email/ServiceSynchronize.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index ac2e029d19..35e5a0a0bf 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1660,21 +1660,29 @@ public class ServiceSynchronize extends LifecycleService { == PackageManager.PERMISSION_GRANTED) { try { if (message.from != null) - for (Address from : message.from) { - String email = ((InternetAddress) from).getAddress(); + for (int i = 0; i < message.from.length; i++) { + String email = ((InternetAddress) message.from[i]).getAddress(); Cursor cursor = null; try { ContentResolver resolver = context.getContentResolver(); cursor = resolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, - new String[]{ContactsContract.CommonDataKinds.Photo.CONTACT_ID}, + new String[]{ + ContactsContract.CommonDataKinds.Photo.CONTACT_ID, + ContactsContract.Contacts.DISPLAY_NAME + }, ContactsContract.CommonDataKinds.Email.ADDRESS + " = ?", new String[]{email}, null); if (cursor.moveToNext()) { int colContactId = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Photo.CONTACT_ID); + int colDisplayName = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); long contactId = cursor.getLong(colContactId); + String displayName = cursor.getString(colDisplayName); + Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId); message.avatar = uri.toString(); - break; + + if (!TextUtils.isEmpty(displayName)) + ((InternetAddress) message.from[i]).setPersonal(displayName); } } finally { if (cursor != null)