Fixed encoding of nested messages

pull/210/head
M66B 3 years ago
parent 5433691b5e
commit 269b2a7e8c

@ -294,7 +294,8 @@ public class IMAPBodyPart extends MimeBodyPart implements ReadableMime {
); );
else if (bs.isNested() && message.isREV1() && bs.envelope != null) else if (bs.isNested() && message.isREV1() && bs.envelope != null)
dh = new DataHandler( dh = new DataHandler(
new IMAPNestedMessage(message, new IMAPNestedMessage(message,
bs.encoding,
bs.bodies[0], bs.bodies[0],
bs.envelope, bs.envelope,
sectionId), sectionId),

@ -830,7 +830,8 @@ public class IMAPMessage extends MimeMessage implements ReadableMime {
* FETCH the components of nested messages * FETCH the components of nested messages
*/ */
dh = new DataHandler( dh = new DataHandler(
new IMAPNestedMessage(this, new IMAPNestedMessage(this,
bs.encoding,
bs.bodies[0], bs.bodies[0],
bs.envelope, bs.envelope,
sectionId == null ? "1" : sectionId + ".1"), sectionId == null ? "1" : sectionId + ".1"),

@ -16,6 +16,8 @@
package com.sun.mail.imap; package com.sun.mail.imap;
import android.text.TextUtils;
import java.io.*; import java.io.*;
import javax.mail.*; import javax.mail.*;
import com.sun.mail.imap.protocol.*; import com.sun.mail.imap.protocol.*;
@ -29,6 +31,7 @@ import com.sun.mail.iap.ProtocolException;
public class IMAPNestedMessage extends IMAPMessage { public class IMAPNestedMessage extends IMAPMessage {
private IMAPMessage msg; // the enclosure of this nested message private IMAPMessage msg; // the enclosure of this nested message
private String encoding;
/** /**
* Package private constructor. <p> * Package private constructor. <p>
@ -36,9 +39,10 @@ public class IMAPNestedMessage extends IMAPMessage {
* Note that nested messages have no containing folder, nor * Note that nested messages have no containing folder, nor
* a message number. * a message number.
*/ */
IMAPNestedMessage(IMAPMessage m, BODYSTRUCTURE b, ENVELOPE e, String sid) { IMAPNestedMessage(IMAPMessage m, String enc, BODYSTRUCTURE b, ENVELOPE e, String sid) {
super(m._getSession()); super(m._getSession());
msg = m; msg = m;
encoding = enc;
bs = b; bs = b;
envelope = e; envelope = e;
sectionId = sid; sectionId = sid;
@ -126,7 +130,7 @@ public class IMAPNestedMessage extends IMAPMessage {
@Override @Override
public String getEncoding() throws MessagingException { public String getEncoding() throws MessagingException {
return bs.encoding; return (TextUtils.isEmpty(encoding) ? bs.encoding : encoding);
} }
/* /*

Loading…
Cancel
Save