From 0680b842d518f0b7c7306f8ab2eb177e66e9987a Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 10 Dec 2018 12:37:37 +0100 Subject: [PATCH] Fixed notification large bitmap icon --- .../eu/faircode/email/ServiceSynchronize.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 7e74b33a81..added59721 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -639,20 +639,26 @@ public class ServiceSynchronize extends LifecycleService { try { cursor = getContentResolver().query( Uri.parse(message.avatar), - new String[]{ContactsContract.Contacts._ID}, + new String[]{ + ContactsContract.Contacts._ID, + ContactsContract.Contacts.LOOKUP_KEY + }, null, null, null); if (cursor.moveToNext()) { - Uri photo = Uri.withAppendedPath( - ContactsContract.Contacts.CONTENT_URI, - cursor.getLong(0) + "/photo"); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { + Uri uri = ContactsContract.Contacts.getLookupUri( + cursor.getLong(0), cursor.getString(1)); InputStream is = ContactsContract.Contacts.openContactPhotoInputStream( - getContentResolver(), photo); + getContentResolver(), uri); mbuilder.setLargeIcon(BitmapFactory.decodeStream(is)); - } else + } else { + Uri photo = Uri.withAppendedPath( + ContactsContract.Contacts.CONTENT_URI, + cursor.getLong(0) + "/photo"); mbuilder.setLargeIcon(Icon.createWithContentUri(photo)); + } } - } catch (SecurityException ex) { + } catch (Throwable ex) { Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex)); } finally { if (cursor != null)