Make sure folder is selected on uid fetch

pull/164/head
M66B 6 years ago
parent 6a237304a0
commit 81e822b5ab

@ -42,6 +42,7 @@ import androidx.preference.PreferenceManager;
import com.sun.mail.iap.BadCommandException; import com.sun.mail.iap.BadCommandException;
import com.sun.mail.iap.CommandFailedException; import com.sun.mail.iap.CommandFailedException;
import com.sun.mail.iap.ConnectionException; import com.sun.mail.iap.ConnectionException;
import com.sun.mail.iap.ProtocolException;
import com.sun.mail.iap.Response; import com.sun.mail.iap.Response;
import com.sun.mail.imap.IMAPFolder; import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPMessage; import com.sun.mail.imap.IMAPMessage;
@ -1711,9 +1712,16 @@ class Core {
// This is done outside of JavaMail to prevent changed notifications // This is done outside of JavaMail to prevent changed notifications
if (!ifolder.isOpen()) if (!ifolder.isOpen())
throw new FolderClosedException(ifolder, "UID FETCH"); throw new FolderClosedException(ifolder, "UID FETCH");
MessagingException ex = (MessagingException) ifolder.doCommand(new IMAPFolder.ProtocolCommand() { MessagingException ex = (MessagingException) ifolder.doCommand(new IMAPFolder.ProtocolCommand() {
@Override @Override
public Object doCommand(IMAPProtocol protocol) { public Object doCommand(IMAPProtocol protocol) {
try {
protocol.select(folder.name);
} catch (ProtocolException ex) {
return new MessagingException("UID FETCH", ex);
}
// Build ranges // Build ranges
List<Pair<Long, Long>> ranges = new ArrayList<>(); List<Pair<Long, Long>> ranges = new ArrayList<>();
long first = -1; long first = -1;

Loading…
Cancel
Save