diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 5bf4740a5a..aeeba4b86a 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1303,13 +1303,10 @@ public class AdapterMessage extends RecyclerView.Adapter 0) - recipients--; - } + int recipients = (message.to == null ? 0 : message.to.length) + + (message.cc == null ? 0 : message.cc.length) + (message.bcc == null ? 0 : message.bcc.length); + if (message.to != null && message.to.length > 0) + recipients--; if (recipients == 0) tvFrom.setText(MessageHelper.formatAddresses(addresses, name_email, false)); @@ -1336,8 +1333,8 @@ public class AdapterMessage extends RecyclerView.Adapter 0); - boolean hasTo = (message.to != null && message.to.length > 0); + int froms = (message.from == null ? 0 : message.from.length); + int tos = (message.to == null ? 0 : message.to.length); boolean hasChannel = (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O); String submitter = MessageHelper.formatAddresses(message.submitter); @@ -1366,10 +1363,10 @@ public class AdapterMessage extends RecyclerView.Adapter 0 || tos > 0) ? View.VISIBLE : View.GONE); + ibNotifyContact.setVisibility(show_addresses && hasChannel && froms > 0 ? View.VISIBLE : View.GONE); + ibPinContact.setVisibility(show_addresses && pin && froms > 0 ? View.VISIBLE : View.GONE); + ibAddContact.setVisibility(show_addresses && contacts && froms > 0 ? View.VISIBLE : View.GONE); tvSubmitterTitle.setVisibility(show_addresses && !TextUtils.isEmpty(submitter) ? View.VISIBLE : View.GONE); tvSubmitter.setVisibility(show_addresses && !TextUtils.isEmpty(submitter) ? View.VISIBLE : View.GONE); @@ -1379,24 +1376,24 @@ public class AdapterMessage extends RecyclerView.Adapter 1 || show_addresses) && !TextUtils.isEmpty(from) ? View.VISIBLE : View.GONE); + tvFromEx.setVisibility((froms > 1 || show_addresses) && !TextUtils.isEmpty(from) ? View.VISIBLE : View.GONE); tvFromEx.setText(from); - tvToTitle.setVisibility(show_addresses && !TextUtils.isEmpty(to) ? View.VISIBLE : View.GONE); - tvTo.setVisibility(show_addresses && !TextUtils.isEmpty(to) ? View.VISIBLE : View.GONE); + tvToTitle.setVisibility((tos > 1 || show_addresses) && !TextUtils.isEmpty(to) ? View.VISIBLE : View.GONE); + tvTo.setVisibility((tos > 1 || show_addresses) && !TextUtils.isEmpty(to) ? View.VISIBLE : View.GONE); tvTo.setText(to); tvReplyToTitle.setVisibility(show_addresses && !TextUtils.isEmpty(replyto) ? View.VISIBLE : View.GONE); tvReplyTo.setVisibility(show_addresses && !TextUtils.isEmpty(replyto) ? View.VISIBLE : View.GONE); tvReplyTo.setText(replyto); - tvCcTitle.setVisibility(show_addresses && !TextUtils.isEmpty(cc) ? View.VISIBLE : View.GONE); - tvCc.setVisibility(show_addresses && !TextUtils.isEmpty(cc) ? View.VISIBLE : View.GONE); + tvCcTitle.setVisibility(!TextUtils.isEmpty(cc) ? View.VISIBLE : View.GONE); + tvCc.setVisibility(!TextUtils.isEmpty(cc) ? View.VISIBLE : View.GONE); tvCc.setText(cc); - tvBccTitle.setVisibility(show_addresses && !TextUtils.isEmpty(bcc) ? View.VISIBLE : View.GONE); - tvBcc.setVisibility(show_addresses && !TextUtils.isEmpty(bcc) ? View.VISIBLE : View.GONE); + tvBccTitle.setVisibility(!TextUtils.isEmpty(bcc) ? View.VISIBLE : View.GONE); + tvBcc.setVisibility(!TextUtils.isEmpty(bcc) ? View.VISIBLE : View.GONE); tvBcc.setText(bcc); InternetAddress via = null;