Skip suggesting no-reply addresses of received messages

pull/212/head
M66B 3 years ago
parent 6acb252a85
commit 6997965336

@ -1148,7 +1148,9 @@ public class FragmentCompose extends FragmentBase {
if (suggest_sent) if (suggest_sent)
items.addAll(db.contact().searchContacts(null, EntityContact.TYPE_TO, wildcard)); items.addAll(db.contact().searchContacts(null, EntityContact.TYPE_TO, wildcard));
if (suggest_received) if (suggest_received)
items.addAll(db.contact().searchContacts(null, EntityContact.TYPE_FROM, wildcard)); for (EntityContact item : db.contact().searchContacts(null, EntityContact.TYPE_FROM, wildcard))
if (!MessageHelper.isNoReply(item.email))
items.add(item);
for (EntityContact item : items) { for (EntityContact item : items) {
EntityContact existing = map.get(item.email); EntityContact existing = map.get(item.email);
if (existing == null) if (existing == null)

@ -5284,22 +5284,28 @@ public class MessageHelper {
static boolean isNoReply(Address address) { static boolean isNoReply(Address address) {
if (address instanceof InternetAddress) { if (address instanceof InternetAddress) {
String email = ((InternetAddress) address).getAddress(); String email = ((InternetAddress) address).getAddress();
String username = UriHelper.getEmailUser(email); if (isNoReply(email))
String domain = UriHelper.getEmailDomain(email); return true;
}
return false;
}
static boolean isNoReply(String email) {
String username = UriHelper.getEmailUser(email);
if (!TextUtils.isEmpty(username)) { if (!TextUtils.isEmpty(username)) {
username = username.toLowerCase(Locale.ROOT); username = username.toLowerCase(Locale.ROOT);
for (String value : DO_NOT_REPLY) for (String value : DO_NOT_REPLY)
if (username.contains(value)) if (username.contains(value))
return true; return true;
} }
String domain = UriHelper.getEmailDomain(email);
if (!TextUtils.isEmpty(domain)) { if (!TextUtils.isEmpty(domain)) {
domain = domain.toLowerCase(Locale.ROOT); domain = domain.toLowerCase(Locale.ROOT);
for (String value : DO_NOT_REPLY) for (String value : DO_NOT_REPLY)
if (domain.startsWith(value)) if (domain.startsWith(value))
return true; return true;
} }
}
return false; return false;
} }

Loading…
Cancel
Save