From 6ce92223003acb41e251257797758244c6c4df26 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 16 Sep 2022 14:16:03 +0200 Subject: [PATCH] Rule move: added $email$ placeholder --- FAQ.md | 1 + .../main/java/eu/faircode/email/EntityRule.java | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/FAQ.md b/FAQ.md index 9e6fdb812f..9960b5e4fb 100644 --- a/FAQ.md +++ b/FAQ.md @@ -2594,6 +2594,7 @@ A *move* action can optionally create subfolders (since version 1.1966) to move ``` $month$ $year$ +$email$ $domain$ ``` diff --git a/app/src/main/java/eu/faircode/email/EntityRule.java b/app/src/main/java/eu/faircode/email/EntityRule.java index 73821d850f..59ce55c2e4 100644 --- a/app/src/main/java/eu/faircode/email/EntityRule.java +++ b/app/src/main/java/eu/faircode/email/EntityRule.java @@ -627,16 +627,22 @@ public class EntityRule { create = create.replace("$year$", year); create = create.replace("$month$", month); - String domain = ""; + String email = null; + String domain = null; if (message.from != null && message.from.length > 0 && message.from[0] instanceof InternetAddress) { InternetAddress from = (InternetAddress) message.from[0]; - domain = UriHelper.getEmailDomain(from.getAddress()); + email = from.getAddress(); + domain = UriHelper.getEmailDomain(email); } - create = create.replace("$domain$", domain); + create = create.replace("$email$", email == null ? "" : email); + create = create.replace("$domain$", domain == null ? "" : domain); - String name = folder.name + folder.separator + create; + if (folder.separator != null) + create = create.replace(folder.separator, '_'); + + String name = folder.name + (folder.separator == null ? "" : folder.separator) + create; EntityFolder created = db.folder().getFolderByName(message.account, name); if (created == null) { created = new EntityFolder();