From 2fff4ba163d9ff127d366bc7709c0c454d06f5b5 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 25 Dec 2018 12:59:52 +0000 Subject: [PATCH] Hide avatar when not enabled --- .../eu/faircode/email/AdapterMessage.java | 85 ++++++++++--------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index aaf7320a24..09bdd66683 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -349,56 +349,59 @@ public class AdapterMessage extends RecyclerView.Adapter 0) - aargs.putString("from", message.from[0].toString()); + Bundle aargs = new Bundle(); + aargs.putLong("id", message.id); + aargs.putString("uri", message.avatar); + if (message.from != null && message.from.length > 0) + aargs.putString("from", message.from[0].toString()); - ivAvatar.setTag(message.id); + ivAvatar.setTag(message.id); - new SimpleTask() { - @Override - protected Drawable onLoad(Context context, Bundle args) { - String uri = args.getString("uri"); - if (avatars && !outgoing && uri != null) - try { - ContentResolver resolver = context.getContentResolver(); - InputStream is = ContactsContract.Contacts.openContactPhotoInputStream(resolver, Uri.parse(uri)); - if (is != null) - return Drawable.createFromStream(is, "avatar"); - } catch (SecurityException ex) { - Log.e(ex); + new SimpleTask() { + @Override + protected Drawable onLoad(Context context, Bundle args) { + String uri = args.getString("uri"); + if (avatars && !outgoing && uri != null) + try { + ContentResolver resolver = context.getContentResolver(); + InputStream is = ContactsContract.Contacts.openContactPhotoInputStream(resolver, Uri.parse(uri)); + if (is != null) + return Drawable.createFromStream(is, "avatar"); + } catch (SecurityException ex) { + Log.e(ex); + } + + String from = args.getString("from"); + if (identicons && !outgoing && from != null) { + return new BitmapDrawable( + context.getResources(), + Identicon.generate(from, dp24, 5, "light".equals(theme))); } - String from = args.getString("from"); - if (identicons && !outgoing && from != null) { - return new BitmapDrawable( - context.getResources(), - Identicon.generate(from, dp24, 5, "light".equals(theme))); + return null; } - return null; - } - - @Override - protected void onLoaded(Bundle args, Drawable avatar) { - if (avatar != null) { - if ((long) ivAvatar.getTag() == args.getLong("id")) { - ivAvatar.setImageDrawable(avatar); - ivAvatar.setVisibility(View.VISIBLE); - } else - Log.i("Skipping avatar"); + @Override + protected void onLoaded(Bundle args, Drawable avatar) { + if (avatar != null) { + if ((long) ivAvatar.getTag() == args.getLong("id")) { + ivAvatar.setImageDrawable(avatar); + ivAvatar.setVisibility(View.VISIBLE); + } else + Log.i("Skipping avatar"); + } } - } - @Override - protected void onException(Bundle args, Throwable ex) { - Helper.unexpectedError(context, owner, ex); - } - }.load(context, owner, aargs); + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(context, owner, ex); + } + }.load(context, owner, aargs); + } else + ivAvatar.setVisibility(View.GONE); vwColor.setBackgroundColor(message.accountColor == null ? Color.TRANSPARENT : message.accountColor); vwColor.setVisibility(View.VISIBLE);