From 899ddaea64a2013c406a663df08bde7b55dd6083 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 1 Jan 2021 09:20:41 +0100 Subject: [PATCH] Special case for single identity --- .../faircode/email/AdapterIdentitySelect.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java b/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java index 5704e2cb01..ff94cc602c 100644 --- a/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java +++ b/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java @@ -35,11 +35,18 @@ import java.util.List; public class AdapterIdentitySelect extends ArrayAdapter { private Context context; private List identities; + private boolean hasColor = false; AdapterIdentitySelect(@NonNull Context context, List identities) { super(context, 0, identities); this.context = context; this.identities = identities; + + for (TupleIdentityEx identity : identities) + if (identity.color != null) { + hasColor = true; + break; + } } @NonNull @@ -64,9 +71,20 @@ public class AdapterIdentitySelect extends ArrayAdapter { TextView tvExtra = view.findViewById(R.id.tvExtra); vwColor.setBackgroundColor(identity.color == null ? Color.TRANSPARENT : identity.color); - text1.setText(identity.getDisplayName() + (identity.primary ? " ★" : "")); - text2.setText(identity.accountName + "/" + identity.email); + vwColor.setVisibility(hasColor ? View.VISIBLE : View.GONE); + + boolean single = (identities.size() == 1 && identity.cc == null && identity.bcc == null); + + if (single) + text1.setText(identity.getDisplayName() + " <" + identity.email + ">"); + else { + text1.setText(identity.getDisplayName() + (identity.primary ? " ★" : "")); + text2.setText(identity.accountName + "/" + identity.email); + } + tvExtra.setText((identity.cc == null ? "" : "+CC") + (identity.bcc == null ? "" : "+BCC")); + + text2.setVisibility(single ? View.GONE : View.VISIBLE); tvExtra.setVisibility(identity.cc == null && identity.bcc == null ? View.GONE : View.VISIBLE); return view;