From dda23dbb443a1ef31add29e79430478596114afa Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 31 Dec 2021 14:10:49 +0100 Subject: [PATCH] Distinguish widget from address --- .../eu/faircode/email/WidgetUnifiedRemoteViewsFactory.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/WidgetUnifiedRemoteViewsFactory.java b/app/src/main/java/eu/faircode/email/WidgetUnifiedRemoteViewsFactory.java index 550bec845f..77c38718ee 100644 --- a/app/src/main/java/eu/faircode/email/WidgetUnifiedRemoteViewsFactory.java +++ b/app/src/main/java/eu/faircode/email/WidgetUnifiedRemoteViewsFactory.java @@ -30,6 +30,7 @@ import android.text.SpannableString; import android.text.Spanned; import android.text.TextUtils; import android.text.style.StyleSpan; +import android.text.style.UnderlineSpan; import android.util.TypedValue; import android.view.View; import android.widget.RemoteViews; @@ -62,6 +63,7 @@ public class WidgetUnifiedRemoteViewsFactory implements RemoteViewsService.Remot private int padding; private boolean prefer_contact; private boolean only_contact; + private boolean distinguish_contacts; private int colorStripeWidth; private int colorWidgetForeground; private int colorWidgetRead; @@ -101,6 +103,7 @@ public class WidgetUnifiedRemoteViewsFactory implements RemoteViewsService.Remot padding = prefs.getInt("widget." + appWidgetId + ".padding", 0); prefer_contact = prefs.getBoolean("prefer_contact", false); only_contact = prefs.getBoolean("only_contact", false); + distinguish_contacts = prefs.getBoolean("distinguish_contacts", false); boolean color_stripe_wide = prefs.getBoolean("color_stripe_wide", false); this.colorStripeWidth = Helper.dp2pixels(context, color_stripe_wide ? 12 : 6); @@ -192,6 +195,7 @@ public class WidgetUnifiedRemoteViewsFactory implements RemoteViewsService.Remot views.setViewVisibility(R.id.stripe, hasColor && color_stripe ? View.VISIBLE : View.GONE); Address[] recipients = ContactInfo.fillIn(message.from, prefer_contact, only_contact); + boolean known = (distinguish_contacts && ContactInfo.getLookupUri(message.from) != null); SpannableString ssFrom = new SpannableString(pro ? MessageHelper.formatAddressesShort(recipients) @@ -214,6 +218,9 @@ public class WidgetUnifiedRemoteViewsFactory implements RemoteViewsService.Remot ssAccount.setSpan(new StyleSpan(Typeface.BOLD), 0, ssAccount.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE); } + if (known) + ssFrom.setSpan(new UnderlineSpan(), 0, ssFrom.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE); + views.setTextViewText(idFrom, ssFrom); views.setTextViewText(idTime, ssTime); views.setTextViewText(idSubject, ssSubject);