Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81468ac2 authored by Vincent Breitmoser's avatar Vincent Breitmoser Committed by GitHub
Browse files

Merge pull request #1525 from k9mail/load-headers-immediately

Load headers immediately
parents 921ee5c0 a40a33e1
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ public abstract class Message implements Part, CompositeBody {

    public abstract String getSubject();

    public abstract void setSubject(String subject) throws MessagingException;
    public abstract void setSubject(String subject);

    public Date getInternalDate() {
        return mInternalDate;
@@ -89,14 +89,13 @@ public abstract class Message implements Part, CompositeBody {

    public abstract Date getSentDate();

    public abstract void setSentDate(Date sentDate, boolean hideTimeZone) throws MessagingException;
    public abstract void setSentDate(Date sentDate, boolean hideTimeZone);

    public abstract Address[] getRecipients(RecipientType type);

    public abstract void setRecipients(RecipientType type, Address[] addresses)
    throws MessagingException;
    public abstract void setRecipients(RecipientType type, Address[] addresses);

    public void setRecipient(RecipientType type, Address address) throws MessagingException {
    public void setRecipient(RecipientType type, Address address) {
        setRecipients(type, new Address[] {
                          address
                      });
@@ -104,40 +103,40 @@ public abstract class Message implements Part, CompositeBody {

    public abstract Address[] getFrom();

    public abstract void setFrom(Address from) throws MessagingException;
    public abstract void setFrom(Address from);

    public abstract Address[] getReplyTo();

    public abstract void setReplyTo(Address[] from) throws MessagingException;
    public abstract void setReplyTo(Address[] from);

    public abstract String getMessageId() throws MessagingException;
    public abstract String getMessageId();

    public abstract void setInReplyTo(String inReplyTo) throws MessagingException;
    public abstract void setInReplyTo(String inReplyTo);

    public abstract String[] getReferences() throws MessagingException;
    public abstract String[] getReferences();

    public abstract void setReferences(String references) throws MessagingException;
    public abstract void setReferences(String references);

    @Override
    public abstract Body getBody();

    @Override
    public abstract void addHeader(String name, String value) throws MessagingException;
    public abstract void addHeader(String name, String value);

    @Override
    public abstract void addRawHeader(String name, String raw) throws MessagingException;
    public abstract void addRawHeader(String name, String raw);

    @Override
    public abstract void setHeader(String name, String value) throws MessagingException;
    public abstract void setHeader(String name, String value);

    @NonNull
    @Override
    public abstract String[] getHeader(String name) throws MessagingException;
    public abstract String[] getHeader(String name);

    public abstract Set<String> getHeaderNames() throws MessagingException;
    public abstract Set<String> getHeaderNames();

    @Override
    public abstract void removeHeader(String name) throws MessagingException;
    public abstract void removeHeader(String name);

    @Override
    public abstract void setBody(Body body);
+5 −5
Original line number Diff line number Diff line
@@ -9,13 +9,13 @@ import android.support.annotation.NonNull;


public interface Part {
    void addHeader(String name, String value) throws MessagingException;
    void addHeader(String name, String value);

    void addRawHeader(String name, String raw) throws MessagingException;
    void addRawHeader(String name, String raw);

    void removeHeader(String name) throws MessagingException;
    void removeHeader(String name);

    void setHeader(String name, String value) throws MessagingException;
    void setHeader(String name, String value);

    Body getBody();

@@ -29,7 +29,7 @@ public interface Part {
     * Returns an array of headers of the given name. The array may be empty.
     */
    @NonNull
    String[] getHeader(String name) throws MessagingException;
    String[] getHeader(String name);

    boolean isMimeType(String mimeType);

+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ class JisSupport {
    }


    private static String getJisVariantFromMailerHeaders(Message message) throws MessagingException {
    private static String getJisVariantFromMailerHeaders(Message message) {
        String[] mailerHeaders = message.getHeader("X-Mailer");
        if (mailerHeaders.length == 0)
            return null;
+1 −13
Original line number Diff line number Diff line
@@ -7,12 +7,9 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.net.MailTo;
import android.util.Log;

import com.fsck.k9.mail.Address;
import com.fsck.k9.mail.K9MailLib;
import com.fsck.k9.mail.Message;
import com.fsck.k9.mail.MessagingException;


/**
@@ -40,7 +37,7 @@ public class ListHeaders {


    public static Address[] getListPostAddresses(Message message) {
        String[] headerValues = getHeaderValues(message, LIST_POST_HEADER);
        String[] headerValues = message.getHeader(LIST_POST_HEADER);
        if (headerValues.length < 1) {
            return new Address[0];
        }
@@ -56,15 +53,6 @@ public class ListHeaders {
        return listPostAddresses.toArray(new Address[listPostAddresses.size()]);
    }

    private static String[] getHeaderValues(Message message, String headerName) {
        try {
            return message.getHeader(headerName);
        } catch (MessagingException e) {
            Log.e(K9MailLib.LOG_TAG, "Unable to get " + headerName + " header", e);
            return new String[0];
        }
    }

    private static Address extractAddress(String headerValue) {
        if (headerValue == null || headerValue.isEmpty()) {
            return null;
+3 −3
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ public class MimeBodyPart extends BodyPart {
    }

    @Override
    public void addHeader(String name, String value) throws MessagingException {
    public void addHeader(String name, String value) {
        mHeader.addHeader(name, value);
    }

@@ -65,12 +65,12 @@ public class MimeBodyPart extends BodyPart {

    @NonNull
    @Override
    public String[] getHeader(String name) throws MessagingException {
    public String[] getHeader(String name) {
        return mHeader.getHeader(name);
    }

    @Override
    public void removeHeader(String name) throws MessagingException {
    public void removeHeader(String name) {
        mHeader.removeHeader(name);
    }

Loading