Refactoring

This commit is contained in:
M66B 2020-12-23 08:25:34 +01:00
parent 5f27799766
commit 5d3b2e6904
2 changed files with 35 additions and 23 deletions

View File

@ -2914,29 +2914,13 @@ class Core {
} }
boolean check_reply = prefs.getBoolean("check_reply", false); boolean check_reply = prefs.getBoolean("check_reply", false);
if (check_reply && if (check_reply) {
message.from != null && message.from.length > 0 && String warning = message.getReplyCheck(context);
message.reply != null && message.reply.length > 0) { if (warning != null)
for (Address reply : message.reply) {
String r = ((InternetAddress) reply).getAddress();
int rat = (r == null ? -1 : r.indexOf('@'));
if (rat > 0) {
String rdomain = DnsHelper.getParentDomain(r.substring(rat + 1));
for (Address from : message.from) {
String f = ((InternetAddress) from).getAddress();
int fat = (f == null ? -1 : f.indexOf('@'));
if (fat > 0) {
String fdomain = DnsHelper.getParentDomain(f.substring(fat + 1));
if (!rdomain.equalsIgnoreCase(fdomain)) {
if (message.warning == null) if (message.warning == null)
message.warning = context.getString(R.string.title_reply_domain, fdomain, rdomain); message.warning = warning;
else else
message.warning += ", " + context.getString(R.string.title_reply_domain, fdomain, rdomain); message.warning += ", " + warning;
}
}
}
}
}
} }
try { try {

View File

@ -272,6 +272,34 @@ public class EntityMessage implements Serializable {
return false; return false;
} }
String getReplyCheck(Context context) {
if (from == null || from.length == 0)
return null;
if (reply == null || reply.length == 0)
return null;
for (Address _reply : reply) {
String r = ((InternetAddress) _reply).getAddress();
int rat = (r == null ? -1 : r.indexOf('@'));
if (rat < 0)
continue;
String rdomain = DnsHelper.getParentDomain(r.substring(rat + 1));
for (Address _from : from) {
String f = ((InternetAddress) _from).getAddress();
int fat = (f == null ? -1 : f.indexOf('@'));
if (fat < 0)
continue;
String fdomain = DnsHelper.getParentDomain(f.substring(fat + 1));
if (!rdomain.equalsIgnoreCase(fdomain))
return context.getString(R.string.title_reply_domain, fdomain, rdomain);
}
}
return null;
}
Element getReplyHeader(Context context, Document document, boolean separate, boolean extended) { Element getReplyHeader(Context context, Document document, boolean separate, boolean extended) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean language_detection = prefs.getBoolean("language_detection", false); boolean language_detection = prefs.getBoolean("language_detection", false);