From c9711b736e92d10524e86ba4ec8cbef40f0876dd Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 14 Jun 2026 19:54:52 +0200 Subject: [PATCH] DMARC: small layout improvement --- .../java/eu/faircode/email/ActivityDMARC.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityDMARC.java b/app/src/main/java/eu/faircode/email/ActivityDMARC.java index 553ea91da2..53e40b5606 100644 --- a/app/src/main/java/eu/faircode/email/ActivityDMARC.java +++ b/app/src/main/java/eu/faircode/email/ActivityDMARC.java @@ -163,6 +163,7 @@ public class ActivityDMARC extends ActivityBase { // https://tools.ietf.org/id/draft-kucherawy-dmarc-base-13.xml#xml_schema private DateFormat DTF; private int colorWarning; + private int colorVerified; private int colorSeparator; private float stroke; @@ -182,6 +183,7 @@ public class ActivityDMARC extends ActivityBase { SpannableStringBuilder load(Context context, InputStream is) throws XmlPullParserException, IOException { DTF = Helper.getDateTimeInstance(context, DateFormat.SHORT, DateFormat.SHORT); colorWarning = Helper.resolveColor(context, R.attr.colorWarning); + colorVerified = Helper.resolveColor(context, R.attr.colorVerified); colorSeparator = Helper.resolveColor(context, R.attr.colorSeparator); stroke = context.getResources().getDisplayMetrics().density; @@ -326,10 +328,10 @@ public class ActivityDMARC extends ActivityBase { text = ""; ssb.append(text); - if (!"pass".equals(text.toLowerCase(Locale.ROOT)) && - ("dkim".equals(name) || "spf".equals(name))) { + if ("dkim".equals(name) || "spf".equals(name)) { + boolean pass = "pass".equals(text.toLowerCase(Locale.ROOT)); ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), 0); - ssb.setSpan(new ForegroundColorSpan(colorWarning), start, ssb.length(), 0); + ssb.setSpan(new ForegroundColorSpan(pass ? colorVerified : colorWarning), start, ssb.length(), 0); } ssb.append(' '); @@ -348,10 +350,9 @@ public class ActivityDMARC extends ActivityBase { text = ""; ssb.append(text); - if (!"pass".equals(text.toLowerCase(Locale.ROOT))) { - ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), 0); - ssb.setSpan(new ForegroundColorSpan(colorWarning), start, ssb.length(), 0); - } + boolean pass = "pass".equals(text.toLowerCase(Locale.ROOT)); + ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), 0); + ssb.setSpan(new ForegroundColorSpan(pass ? colorVerified : colorWarning), start, ssb.length(), 0); ssb.append(' '); } @@ -549,14 +550,12 @@ public class ActivityDMARC extends ActivityBase { int start = ssb.length(); ssb.append(Boolean.TRUE.equals(valid) ? "valid" : "invalid"); + ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), 0); + ssb.setSpan(new ForegroundColorSpan(Boolean.TRUE.equals(valid) ? colorVerified : colorWarning), start, ssb.length(), 0); + if (because != null) ssb.append(" (").append(because).append(')'); - if (!Boolean.TRUE.equals(valid)) { - ssb.setSpan(new StyleSpan(Typeface.BOLD), start, ssb.length(), 0); - ssb.setSpan(new ForegroundColorSpan(colorWarning), start, ssb.length(), 0); - } - ssb.append(' '); } catch (Throwable ex) { Log.w(ex);