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

Commit 9c46f68b authored by cketti's avatar cketti Committed by GitHub
Browse files

Merge pull request #1515 from k9mail/hidden-attachments

Ditch "hidden attachments"
parents d8f5de00 b7bcaf8d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ public class AttachmentPresenter {
        }

        for (AttachmentViewInfo attachmentViewInfo : messageViewInfo.attachments) {
            if (attachmentViewInfo.firstClassAttachment) {
            if (!attachmentViewInfo.inlineAttachment) {
                addAttachment(attachmentViewInfo);
            }
        }
+3 −3
Original line number Diff line number Diff line
@@ -21,16 +21,16 @@ public class AttachmentViewInfo {
     * @see com.fsck.k9.ui.messageview.AttachmentController#getAttachmentUriForMimeType(AttachmentViewInfo, String)
     */
    public final Uri uri;
    public final boolean firstClassAttachment;
    public final boolean inlineAttachment;
    public final Part part;

    public AttachmentViewInfo(String mimeType, String displayName, long size, Uri uri, boolean firstClassAttachment,
    public AttachmentViewInfo(String mimeType, String displayName, long size, Uri uri, boolean inlineAttachment,
            Part part) {
        this.mimeType = mimeType;
        this.displayName = displayName;
        this.size = size;
        this.uri = uri;
        this.firstClassAttachment = firstClassAttachment;
        this.inlineAttachment = inlineAttachment;
        this.part = part;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -720,7 +720,7 @@ public class LocalFolder extends Folder<LocalMessage> implements Serializable {
        // TODO might want to do that at a later point?
        // String displayName = cursor.getString(5);
        // int type = cursor.getInt(1);
        // boolean firstClassAttachment = (type != MessagePartType.HIDDEN_ATTACHMENT);
        // boolean inlineAttachment = (type == MessagePartType.HIDDEN_ATTACHMENT);

        final Part part;
        if (id == message.getMessagePartId()) {
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ public class MessageViewInfoExtractor {
            MessageExtractor.findViewablesAndAttachments(part, viewableParts, attachments);
        }

        attachmentInfos.addAll(attachmentInfoExtractor.extractAttachmentInfos(attachments));
        attachmentInfos.addAll(attachmentInfoExtractor.extractAttachmentInfoForView(attachments));
        return extractTextFromViewables(viewableParts);
    }

+8 −6
Original line number Diff line number Diff line
@@ -42,12 +42,15 @@ public class AttachmentInfoExtractor {
    }

    @WorkerThread
    public List<AttachmentViewInfo> extractAttachmentInfos(List<Part> attachmentParts)
    public List<AttachmentViewInfo> extractAttachmentInfoForView(List<Part> attachmentParts)
            throws MessagingException {

        List<AttachmentViewInfo> attachments = new ArrayList<>();
        for (Part part : attachmentParts) {
            attachments.add(extractAttachmentInfo(part));
            AttachmentViewInfo attachmentViewInfo = extractAttachmentInfo(part);
            if (!attachmentViewInfo.inlineAttachment) {
                attachments.add(attachmentViewInfo);
            }
        }

        return attachments;
@@ -99,7 +102,7 @@ public class AttachmentInfoExtractor {

    @WorkerThread
    private AttachmentViewInfo extractAttachmentInfo(Part part, Uri uri, long size) throws MessagingException {
        boolean firstClassAttachment = true;
        boolean inlineAttachment = false;

        String mimeType = part.getMimeType();
        String contentTypeHeader = MimeUtility.unfoldAndDecode(part.getContentType());
@@ -111,7 +114,6 @@ public class AttachmentInfoExtractor {
        }

        if (name == null) {
            firstClassAttachment = false;
            String extension = null;
            if (mimeType != null) {
                extension = MimeUtility.getExtensionByMimeType(mimeType);
@@ -125,12 +127,12 @@ public class AttachmentInfoExtractor {
        if (contentDisposition != null &&
                MimeUtility.getHeaderParameter(contentDisposition, null).matches("^(?i:inline)") &&
                part.getHeader(MimeHeader.HEADER_CONTENT_ID).length > 0) {
            firstClassAttachment = false;
            inlineAttachment = true;
        }

        long attachmentSize = extractAttachmentSize(contentDisposition, size);

        return new AttachmentViewInfo(mimeType, name, attachmentSize, uri, firstClassAttachment, part);
        return new AttachmentViewInfo(mimeType, name, attachmentSize, uri, inlineAttachment, part);
    }

    @WorkerThread
Loading