diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 91d5267ee0..0f7ab70b87 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -921,26 +921,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0) - keywords.append(" "); - - keywords.append(message.keywords[i]); - - if (message.keyword_colors != null && - message.keyword_colors[i] != null) { - int len = keywords.length(); - keywords.setSpan( - new ForegroundColorSpan(message.keyword_colors[i]), - len - message.keywords[i].length(), len, - Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - } - } - } - + SpannableStringBuilder keywords = getKeywords(message); tvKeywords.setVisibility(keywords.length() > 0 ? View.VISIBLE : View.GONE); tvKeywords.setText(keywords); } else @@ -1394,8 +1375,15 @@ public class AdapterMessage extends RecyclerView.Adapter 0 ? View.VISIBLE : View.GONE); - tvKeywordsEx.setText(TextUtils.join(" ", message.keywords)); + if (keywords_header) { + tvKeywordsEx.setVisibility(show_addresses && message.keywords.length > 0 ? View.VISIBLE : View.GONE); + tvKeywordsEx.setText(TextUtils.join(" ", message.keywords)); + } else { + message.resolveKeywordColors(context); + SpannableStringBuilder keywords = getKeywords(message); + tvKeywordsEx.setVisibility(show_addresses && keywords.length() > 0 ? View.VISIBLE : View.GONE); + tvKeywordsEx.setText(keywords); + } // Headers if (show_headers && message.headers != null) @@ -4079,6 +4067,29 @@ public class AdapterMessage extends RecyclerView.Adapter 0) + keywords.append(" "); + + keywords.append(message.keywords[i]); + + if (message.keyword_colors != null && + message.keyword_colors[i] != null) { + int len = keywords.length(); + keywords.setSpan( + new ForegroundColorSpan(message.keyword_colors[i]), + len - message.keywords[i].length(), len, + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } + } + return keywords; + } + ItemDetailsLookup.ItemDetails getItemDetails(@NonNull MotionEvent motionEvent) { return new ItemDetailsMessage(this); }