From 9d1fcf8ebccaa5d1d47bf82c043985eb8f252e69 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 23 Aug 2018 14:36:19 +0000 Subject: [PATCH] Select identity by canonical address --- app/src/main/java/eu/faircode/email/FragmentCompose.java | 5 +++-- app/src/main/java/eu/faircode/email/Helper.java | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 3d71b99c16..751d557212 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -805,9 +805,10 @@ public class FragmentCompose extends FragmentEx { // Select identity matching from address if (!found && draft.from != null && draft.from.length > 0) { - String from = ((InternetAddress) draft.from[0]).getAddress(); + String from = Helper.canonicalAddress(((InternetAddress) draft.from[0]).getAddress()); + for (int pos = 0; pos < identities.size(); pos++) { - if (identities.get(pos).email.equals(from)) { + if (Helper.canonicalAddress(identities.get(pos).email).equals(from)) { spFrom.setSelection(pos); found = true; break; diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 4803f03c62..da95fd529f 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -21,6 +21,7 @@ package eu.faircode.email; import android.content.Context; import android.content.res.TypedArray; +import android.text.TextUtils; import android.util.Log; import android.view.Menu; import android.view.View; @@ -129,4 +130,11 @@ public class Helper { static Address myAddress() throws UnsupportedEncodingException { return new InternetAddress("marcel+fairemail@faircode.eu", "FairCode"); } + + static String canonicalAddress(String address) { + String[] a = address.split("\\@"); + if (a.length > 0) + a[0] = a[0].split("\\+")[0]; + return TextUtils.join("@", a); + } }