diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index e013423f33..a958a39114 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -255,6 +255,18 @@ public class MessageHelper { static final String FLAG_PHISHING = "$Phishing"; // Gmail static final String CATEGORY_PREFIX = "$category:"; + // https://documentation.open-xchange.com/7.10.6/middleware/mail/mail_flagging.html + static final String FLAG_OPENX_RED = "$cl_1"; + static final String FLAG_OPENX_BLUE = "$cl_2"; + static final String FLAG_OPENX_GREEN = "$cl_3"; + static final String FLAG_OPENX_GRAY = "$cl_4"; + static final String FLAG_OPENX_PURPLE = "$cl_5"; // Violet + static final String FLAG_OPENX_LIGHT_GREEN = "$cl_6"; + static final String FLAG_OPENX_ORANGE = "$cl_7"; + static final String FLAG_OPENX_PINK = "$cl_8"; + static final String FLAG_OPENX_LIGHT_BLUE = "$cl_9"; // Cyan + static final String FLAG_OPENX_YELLOW = "$cl_10"; + // https://www.iana.org/assignments/imap-jmap-keywords/imap-jmap-keywords.xhtml // Not black listed: Gmail $Phishing private static final List FLAG_BLACKLIST = Collections.unmodifiableList(Arrays.asList( diff --git a/app/src/main/java/eu/faircode/email/TupleKeyword.java b/app/src/main/java/eu/faircode/email/TupleKeyword.java index 7787bce346..7d957895c7 100644 --- a/app/src/main/java/eu/faircode/email/TupleKeyword.java +++ b/app/src/main/java/eu/faircode/email/TupleKeyword.java @@ -194,6 +194,17 @@ public class TupleKeyword { return context.getString(R.string.title_keyword_complaint); case MessageHelper.FLAG_PHISHING: return context.getString(R.string.title_keyword_phishing); + case MessageHelper.FLAG_OPENX_RED: + case MessageHelper.FLAG_OPENX_BLUE: + case MessageHelper.FLAG_OPENX_GREEN: + case MessageHelper.FLAG_OPENX_GRAY: + case MessageHelper.FLAG_OPENX_PURPLE: + case MessageHelper.FLAG_OPENX_LIGHT_GREEN: + case MessageHelper.FLAG_OPENX_ORANGE: + case MessageHelper.FLAG_OPENX_PINK: + case MessageHelper.FLAG_OPENX_LIGHT_BLUE: + case MessageHelper.FLAG_OPENX_YELLOW: + return keyword.replace("$cl", "color"); default: return keyword; } @@ -221,6 +232,28 @@ public class TupleKeyword { case MessageHelper.FLAG_PHISHING: return Helper.resolveColor(context, androidx.appcompat.R.attr.colorError); + // https://en.wikipedia.org/wiki/Web_colors + case MessageHelper.FLAG_OPENX_RED: + return Color.rgb(255, 0, 0); + case MessageHelper.FLAG_OPENX_BLUE: + return Color.rgb(0, 0, 255); + case MessageHelper.FLAG_OPENX_GREEN: + return Color.rgb(0, 128, 0); + case MessageHelper.FLAG_OPENX_GRAY: + return Color.rgb(128, 128, 128); + case MessageHelper.FLAG_OPENX_PURPLE: + return Color.rgb(128, 0, 128); + case MessageHelper.FLAG_OPENX_LIGHT_GREEN: + return Color.rgb(144, 238, 144); + case MessageHelper.FLAG_OPENX_ORANGE: + return Color.rgb(255, 165, 0); + case MessageHelper.FLAG_OPENX_PINK: + return Color.rgb(255, 192, 203); + case MessageHelper.FLAG_OPENX_LIGHT_BLUE: + return Color.rgb(173, 216, 230); + case MessageHelper.FLAG_OPENX_YELLOW: + return Color.rgb(255, 255, 0); + default: return null; }