package com.fsck.k9.mailstore; import java.util.Stack; import com.fsck.k9.mail.Body; import com.fsck.k9.mail.BodyPart; import com.fsck.k9.mail.MessagingException; import com.fsck.k9.mail.Multipart; import com.fsck.k9.mail.Part; import com.fsck.k9.mail.internet.MimeBodyPart; public class MessageHelper { public static boolean isCompletePartAvailable(Part part) { Stack<Part> partsToCheck = new Stack<Part>(); partsToCheck.push(part); while (!partsToCheck.isEmpty()) { Part currentPart = partsToCheck.pop(); Body body = currentPart.getBody(); boolean isBodyMissing = body == null; if (isBodyMissing) { return false; } if (body instanceof Multipart) { Multipart multipart = (Multipart) body; for (BodyPart bodyPart : multipart.getBodyParts()) { partsToCheck.push(bodyPart); } } } return true; } public static MimeBodyPart createEmptyPart() { try { return new MimeBodyPart(null); } catch (MessagingException e) { throw new RuntimeException(e); } } }