Show from address/sent time in headers

pull/214/head
M66B 2 years ago
parent fe37f0bd65
commit 1fac401914

@ -118,7 +118,7 @@ public class ActivityDSN extends ActivityBase {
bos.write(buffer, 0, length); bos.write(buffer, 0, length);
String headers = MessageHelper.decodeMime(bos.toString(StandardCharsets.UTF_8.name())); String headers = MessageHelper.decodeMime(bos.toString(StandardCharsets.UTF_8.name()));
result.headers = HtmlHelper.highlightHeaders(context, headers, false); result.headers = HtmlHelper.highlightHeaders(context, null, headers, false);
} }
return result; return result;

@ -323,7 +323,7 @@ public class ActivityEML extends ActivityBase {
MessageHelper.getStructure(imessage, ssb, 0, textColorLink); MessageHelper.getStructure(imessage, ssb, 0, textColorLink);
result.structure = ssb; result.structure = ssb;
result.headers = HtmlHelper.highlightHeaders(context, helper.getHeaders(), false); result.headers = HtmlHelper.highlightHeaders(context, helper.getFrom(), helper.getHeaders(), false);
return result; return result;
} }

@ -2756,7 +2756,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (show_headers && message.headers != null) { if (show_headers && message.headers != null) {
Spanned headers = HtmlHelper.highlightHeaders(context, Spanned headers = HtmlHelper.highlightHeaders(context,
message.headers, message.blocklist != null && message.blocklist); message.from, message.headers, message.blocklist != null && message.blocklist);
if (BuildConfig.DEBUG && headers instanceof SpannableStringBuilder) { if (BuildConfig.DEBUG && headers instanceof SpannableStringBuilder) {
SpannableStringBuilder ssb = (SpannableStringBuilder) headers; SpannableStringBuilder ssb = (SpannableStringBuilder) headers;
ssb.append('\n') ssb.append('\n')

@ -125,6 +125,7 @@ import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.mail.Address;
import javax.mail.internet.InternetHeaders; import javax.mail.internet.InternetHeaders;
import javax.mail.internet.MailDateFormat; import javax.mail.internet.MailDateFormat;
import javax.mail.internet.MimeUtility; import javax.mail.internet.MimeUtility;
@ -2935,7 +2936,7 @@ public class HtmlHelper {
return ssb.toString(); return ssb.toString();
} }
static Spanned highlightHeaders(Context context, String headers, boolean blocklist) { static Spanned highlightHeaders(Context context, Address[] from, String headers, boolean blocklist) {
SpannableStringBuilder ssb = new SpannableStringBuilderEx(headers.replaceAll("\\t", " ")); SpannableStringBuilder ssb = new SpannableStringBuilderEx(headers.replaceAll("\\t", " "));
int textColorLink = Helper.resolveColor(context, android.R.attr.textColorLink); int textColorLink = Helper.resolveColor(context, android.R.attr.textColorLink);
int colorVerified = Helper.resolveColor(context, R.attr.colorVerified); int colorVerified = Helper.resolveColor(context, R.attr.colorVerified);
@ -2968,6 +2969,23 @@ public class HtmlHelper {
Log.w(ex); Log.w(ex);
} }
if (tx != null) {
ssb.append('\n');
int s = ssb.length();
ssb.append("\n#0 ").append(DTF.format(tx));
ssb.setSpan(new StyleSpan(Typeface.BOLD), s, ssb.length(), 0);
if (from != null) {
ssb.append('\n');
s = ssb.length();
ssb.append("from");
ssb.setSpan(new ForegroundColorSpan(textColorLink), s, ssb.length(), 0);
ssb.append(' ').append(MessageHelper.formatAddresses(from, true, false));
}
ssb.append('\n');
}
String[] received = iheaders.getHeader("Received"); String[] received = iheaders.getHeader("Received");
if (received != null && received.length > 0) { if (received != null && received.length > 0) {
for (int i = received.length - 1; i >= 0; i--) { for (int i = received.length - 1; i >= 0; i--) {

Loading…
Cancel
Save