From b443af43aed63f25a82bda13c50c807f6c619fb8 Mon Sep 17 00:00:00 2001 From: Jan Berkel Date: Mon, 15 Dec 2014 13:01:13 +0100 Subject: [PATCH] Cleanup --- .../k9/mail/internet/MessageExtractor.java | 21 ++++++----- .../fsck/k9/mail/internet/MimeUtility.java | 2 +- src/com/fsck/k9/mail/internet/Viewable.java | 13 ++++--- .../k9/mailstore/LocalMessageExtractor.java | 35 +++++++++++-------- 4 files changed, 39 insertions(+), 32 deletions(-) diff --git a/src/com/fsck/k9/mail/internet/MessageExtractor.java b/src/com/fsck/k9/mail/internet/MessageExtractor.java index b710171af..a4b997116 100644 --- a/src/com/fsck/k9/mail/internet/MessageExtractor.java +++ b/src/com/fsck/k9/mail/internet/MessageExtractor.java @@ -22,6 +22,9 @@ import java.util.regex.Pattern; import static com.fsck.k9.mail.internet.CharsetSupport.fixupCharset; import static com.fsck.k9.mail.internet.MimeUtility.getHeaderParameter; import static com.fsck.k9.mail.internet.Viewable.Alternative; +import static com.fsck.k9.mail.internet.Viewable.Html; +import static com.fsck.k9.mail.internet.Viewable.MessageHeader; +import static com.fsck.k9.mail.internet.Viewable.Text; import static com.fsck.k9.mail.internet.Viewable.Textual; public class MessageExtractor { @@ -167,7 +170,7 @@ public class MessageExtractor { Message message = (Message) body; // We add the Message object so we can extract the filename later. - viewables.add(new Viewable.MessageHeader(part, message)); + viewables.add(new MessageHeader(part, message)); // Recurse to grab all viewable parts and attachments from that message. viewables.addAll(getViewables(message, attachments)); @@ -177,10 +180,10 @@ public class MessageExtractor { */ String mimeType = part.getMimeType(); if (mimeType.equalsIgnoreCase("text/plain")) { - Viewable.Text text = new Viewable.Text(part); + Text text = new Text(part); viewables.add(text); } else { - Viewable.Html html = new Viewable.Html(part); + Html html = new Html(part); viewables.add(html); } } else { @@ -220,7 +223,7 @@ public class MessageExtractor { * @param directChild If {@code true}, this method will return after the first {@code text/plain} was * found. * - * @return A list of {@link Viewable.Text} viewables. + * @return A list of {@link Text} viewables. * * @throws MessagingException * In case of an error. @@ -254,7 +257,7 @@ public class MessageExtractor { } } } else if (isPartTextualBody(part) && part.getMimeType().equalsIgnoreCase("text/plain")) { - Viewable.Text text = new Viewable.Text(part); + Text text = new Text(part); viewables.add(text); if (directChild) { break; @@ -274,7 +277,7 @@ public class MessageExtractor { * @param directChild If {@code true}, this method will add all {@code text/html} parts except the first * found to 'attachments'. * - * @return A list of {@link Viewable.Text} viewables. + * @return A list of {@link Text} viewables. * * @throws MessagingException In case of an error. */ @@ -314,7 +317,7 @@ public class MessageExtractor { } } else if (!(directChild && partFound) && isPartTextualBody(part) && part.getMimeType().equalsIgnoreCase("text/html")) { - Viewable.Html html = new Viewable.Html(part); + Html html = new Html(part); viewables.add(html); partFound = true; } else if (!knownTextParts.contains(part)) { @@ -359,8 +362,8 @@ public class MessageExtractor { * * @return The set of viewable {@code Part}s. * - * @see MimeUtility#findHtmlPart(Multipart, Set, List, boolean) - * @see MimeUtility#findAttachments(Multipart, Set, List) + * @see MessageExtractor#findHtmlPart(Multipart, Set, List, boolean) + * @see MessageExtractor#findAttachments(Multipart, Set, List) */ private static Set getParts(List viewables) { Set parts = new HashSet(); diff --git a/src/com/fsck/k9/mail/internet/MimeUtility.java b/src/com/fsck/k9/mail/internet/MimeUtility.java index e56476878..00f037108 100644 --- a/src/com/fsck/k9/mail/internet/MimeUtility.java +++ b/src/com/fsck/k9/mail/internet/MimeUtility.java @@ -991,7 +991,7 @@ public class MimeUtility { */ if (contentTransferEncoding != null) { contentTransferEncoding = - MimeUtility.getHeaderParameter(contentTransferEncoding, null); + getHeaderParameter(contentTransferEncoding, null); if (MimeUtil.ENC_QUOTED_PRINTABLE.equalsIgnoreCase(contentTransferEncoding)) { in = new QuotedPrintableInputStream(in); } else if (MimeUtil.ENC_BASE64.equalsIgnoreCase(contentTransferEncoding)) { diff --git a/src/com/fsck/k9/mail/internet/Viewable.java b/src/com/fsck/k9/mail/internet/Viewable.java index 6ec32b926..ec21b7c71 100644 --- a/src/com/fsck/k9/mail/internet/Viewable.java +++ b/src/com/fsck/k9/mail/internet/Viewable.java @@ -7,7 +7,7 @@ import java.util.List; /** * Empty marker class interface the class hierarchy used by - * {@link com.fsck.k9.mailstore.LocalMessageExtractor#extractTextAndAttachments(android.content.Context, com.fsck.k9.mail.Message)}. + * {@link MessageExtractor#getViewables(com.fsck.k9.mail.Part, java.util.List)} * * @see Viewable.Text * @see Viewable.Html @@ -20,7 +20,7 @@ public interface Viewable { * * @see com.fsck.k9.mail.internet.MessageExtractor#isPartTextualBody(com.fsck.k9.mail.Part) */ - static abstract class Textual implements Viewable { + abstract class Textual implements Viewable { private Part mPart; public Textual(Part part) { @@ -35,7 +35,7 @@ public interface Viewable { /** * Class representing a {@code text/plain} part of a message. */ - static class Text extends Textual { + class Text extends Textual { public Text(Part part) { super(part); } @@ -44,7 +44,7 @@ public interface Viewable { /** * Class representing a {@code text/html} part of a message. */ - static class Html extends Textual { + class Html extends Textual { public Html(Part part) { super(part); } @@ -58,7 +58,7 @@ public interface Viewable { * inline. *

*/ - static class MessageHeader implements Viewable { + class MessageHeader implements Viewable { private Part mContainerPart; private Message mMessage; @@ -84,7 +84,7 @@ public interface Viewable { * class. *

*/ - static class Alternative implements Viewable { + class Alternative implements Viewable { private List mText; private List mHtml; @@ -101,5 +101,4 @@ public interface Viewable { return mHtml; } } - } diff --git a/src/com/fsck/k9/mailstore/LocalMessageExtractor.java b/src/com/fsck/k9/mailstore/LocalMessageExtractor.java index f0e11902b..f5d1a9108 100644 --- a/src/com/fsck/k9/mailstore/LocalMessageExtractor.java +++ b/src/com/fsck/k9/mailstore/LocalMessageExtractor.java @@ -19,6 +19,11 @@ import java.util.Date; import java.util.List; import static com.fsck.k9.mail.internet.MimeUtility.getHeaderParameter; +import static com.fsck.k9.mail.internet.Viewable.Alternative; +import static com.fsck.k9.mail.internet.Viewable.Html; +import static com.fsck.k9.mail.internet.Viewable.MessageHeader; +import static com.fsck.k9.mail.internet.Viewable.Text; +import static com.fsck.k9.mail.internet.Viewable.Textual; class LocalMessageExtractor { private static final String TEXT_DIVIDER = @@ -58,14 +63,14 @@ class LocalMessageExtractor { StringBuilder html = new StringBuilder(); for (Viewable viewable : viewables) { - if (viewable instanceof Viewable.Textual) { + if (viewable instanceof Textual) { // This is either a text/plain or text/html part. Fill the variables 'text' and // 'html', converting between plain text and HTML as necessary. text.append(buildText(viewable, !hideDivider)); html.append(buildHtml(viewable, !hideDivider)); hideDivider = false; - } else if (viewable instanceof Viewable.MessageHeader) { - Viewable.MessageHeader header = (Viewable.MessageHeader) viewable; + } else if (viewable instanceof MessageHeader) { + MessageHeader header = (MessageHeader) viewable; Part containerPart = header.getContainerPart(); Message innerMessage = header.getMessage(); @@ -76,9 +81,9 @@ class LocalMessageExtractor { addMessageHeaderHtml(context, html, innerMessage); hideDivider = true; - } else if (viewable instanceof Viewable.Alternative) { + } else if (viewable instanceof Alternative) { // Handle multipart/alternative contents - Viewable.Alternative alternative = (Viewable.Alternative) viewable; + Alternative alternative = (Alternative) viewable; /* * We made sure at least one of text/plain or text/html is present when @@ -161,21 +166,21 @@ class LocalMessageExtractor { private static StringBuilder buildHtml(Viewable viewable, boolean prependDivider) { StringBuilder html = new StringBuilder(); - if (viewable instanceof Viewable.Textual) { - Part part = ((Viewable.Textual)viewable).getPart(); + if (viewable instanceof Textual) { + Part part = ((Textual)viewable).getPart(); addHtmlDivider(html, part, prependDivider); String t = part.getText(); if (t == null) { t = ""; - } else if (viewable instanceof Viewable.Text) { + } else if (viewable instanceof Text) { t = HtmlConverter.textToHtml(t); } html.append(t); - } else if (viewable instanceof Viewable.Alternative) { + } else if (viewable instanceof Alternative) { // That's odd - an Alternative as child of an Alternative; go ahead and try to use the // text/html child; fall-back to the text/plain part. - Viewable.Alternative alternative = (Viewable.Alternative) viewable; + Alternative alternative = (Alternative) viewable; List htmlAlternative = alternative.getHtml().isEmpty() ? alternative.getText() : alternative.getHtml(); @@ -193,21 +198,21 @@ class LocalMessageExtractor { private static StringBuilder buildText(Viewable viewable, boolean prependDivider) { StringBuilder text = new StringBuilder(); - if (viewable instanceof Viewable.Textual) { - Part part = ((Viewable.Textual)viewable).getPart(); + if (viewable instanceof Textual) { + Part part = ((Textual)viewable).getPart(); addTextDivider(text, part, prependDivider); String t = part.getText(); if (t == null) { t = ""; - } else if (viewable instanceof Viewable.Html) { + } else if (viewable instanceof Html) { t = HtmlConverter.htmlToText(t); } text.append(t); - } else if (viewable instanceof Viewable.Alternative) { + } else if (viewable instanceof Alternative) { // That's odd - an Alternative as child of an Alternative; go ahead and try to use the // text/plain child; fall-back to the text/html part. - Viewable.Alternative alternative = (Viewable.Alternative) viewable; + Alternative alternative = (Alternative) viewable; List textAlternative = alternative.getText().isEmpty() ? alternative.getHtml() : alternative.getText();