Check cc/bcc for username

pull/210/head
M66B 2 years ago
parent a7eeb1840a
commit a4696bdf28

@ -5086,51 +5086,57 @@ public class FragmentCompose extends FragmentBase {
data.draft.to = (ref.reply == null || ref.reply.length == 0 ? ref.from : ref.reply); data.draft.to = (ref.reply == null || ref.reply.length == 0 ? ref.from : ref.reply);
} }
if (data.draft.from != null && data.draft.from.length > 0) { Address preferred = null;
Address preferred = null; if (ref.identity != null) {
if (ref.identity != null) { EntityIdentity recognized = db.identity().getIdentity(ref.identity);
EntityIdentity recognized = db.identity().getIdentity(ref.identity); EntityLog.log(context, "Recognized=" + (recognized == null ? null : recognized.email));
EntityLog.log(context, "Recognized=" + (recognized == null ? null : recognized.email));
if (recognized != null) {
if (recognized != null) { Address same = null;
Address same = null; Address similar = null;
Address similar = null;
List<Address> addresses = new ArrayList<>();
for (Address from : data.draft.from) { if (data.draft.from != null)
if (same == null && recognized.sameAddress(from)) addresses.addAll(Arrays.asList(data.draft.from));
same = from; if (ref.cc != null)
if (similar == null && recognized.similarAddress(from)) addresses.addAll(Arrays.asList(ref.cc));
similar = from; if (ref.bcc != null)
} addresses.addAll(Arrays.asList(ref.bcc));
//if (ref.deliveredto != null) for (Address from : addresses) {
// try { if (same == null && recognized.sameAddress(from))
// Address deliveredto = new InternetAddress(ref.deliveredto); same = from;
// if (same == null && recognized.sameAddress(deliveredto)) if (similar == null && recognized.similarAddress(from))
// same = deliveredto; similar = from;
// if (similar == null && recognized.similarAddress(deliveredto))
// similar = deliveredto;
// } catch (AddressException ex) {
// Log.w(ex);
// }
EntityLog.log(context, "From=" + MessageHelper.formatAddresses(data.draft.from) +
" delivered-to=" + ref.deliveredto +
" same=" + (same == null ? null : ((InternetAddress) same).getAddress()) +
" similar=" + (similar == null ? null : ((InternetAddress) similar).getAddress()));
preferred = (same == null ? similar : same);
} }
} else
EntityLog.log(context, "Recognized=null");
if (preferred != null) { //if (ref.deliveredto != null)
String from = ((InternetAddress) preferred).getAddress(); // try {
EntityLog.log(context, "Preferred=" + from); // Address deliveredto = new InternetAddress(ref.deliveredto);
data.draft.extra = UriHelper.getEmailUser(from); // if (same == null && recognized.sameAddress(deliveredto))
} else // same = deliveredto;
EntityLog.log(context, "Preferred=null"); // if (similar == null && recognized.similarAddress(deliveredto))
} // similar = deliveredto;
// } catch (AddressException ex) {
// Log.w(ex);
// }
EntityLog.log(context, "From=" + MessageHelper.formatAddresses(data.draft.from) +
" delivered-to=" + ref.deliveredto +
" same=" + (same == null ? null : ((InternetAddress) same).getAddress()) +
" similar=" + (similar == null ? null : ((InternetAddress) similar).getAddress()));
preferred = (same == null ? similar : same);
}
} else
EntityLog.log(context, "Recognized=null");
if (preferred != null) {
String from = ((InternetAddress) preferred).getAddress();
EntityLog.log(context, "Preferred=" + from);
data.draft.extra = UriHelper.getEmailUser(from);
} else
EntityLog.log(context, "Preferred=null");
} }
if ("reply_all".equals(action)) if ("reply_all".equals(action))

Loading…
Cancel
Save