From 7bc405537dd94c62360be2e2a88e678c2907e486 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 24 Dec 2019 09:53:02 +0100 Subject: [PATCH] Prefer same/similar address from extra --- .../eu/faircode/email/FragmentCompose.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 845df9e5db..bc9f8e1abc 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2768,7 +2768,24 @@ public class FragmentCompose extends FragmentBase { } if (data.draft.from != null && data.draft.from.length > 0) { - String from = ((InternetAddress) data.draft.from[0]).getAddress(); + Address preferred = null; + if (ref.identity != null) { + EntityIdentity recognized = db.identity().getIdentity(ref.identity); + if (recognized != null) { + Address same = null; + Address similar = null; + for (Address from : data.draft.from) { + if (same == null && recognized.sameAddress(from)) + same = from; + if (similar == null && recognized.similarAddress(from)) + similar = from; + } + preferred = (same == null ? similar : same); + } + } + if (preferred == null) + preferred = data.draft.from[0]; + String from = ((InternetAddress) preferred).getAddress(); if (from != null && from.contains("@")) data.draft.extra = from.substring(0, from.indexOf("@")); }