From 88a0452803c3927d8fbb9caa4c6d36fc997eed84 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 25 Apr 2019 20:40:37 +0200 Subject: [PATCH] Hide FolderClosedIOException --- app/src/main/java/eu/faircode/email/Core.java | 3 --- app/src/main/java/eu/faircode/email/Helper.java | 3 --- .../main/java/eu/faircode/email/MessageHelper.java | 14 ++++++++------ 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index ab6acaa9c5..4ddd5cc4d2 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -28,7 +28,6 @@ import com.sun.mail.imap.IMAPStore; import com.sun.mail.imap.protocol.FetchResponse; import com.sun.mail.imap.protocol.IMAPProtocol; import com.sun.mail.imap.protocol.UID; -import com.sun.mail.util.FolderClosedIOException; import com.sun.mail.util.MailConnectException; import org.json.JSONArray; @@ -1050,8 +1049,6 @@ class Core { (IMAPMessage) isub[j], ids[from + j], state); } catch (FolderClosedException ex) { throw ex; - } catch (FolderClosedIOException ex) { - throw ex; } catch (Throwable ex) { Log.e(folder.name, ex); } finally { diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index b6dfe2fae7..9ffc8d9bdb 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -70,7 +70,6 @@ import androidx.preference.PreferenceManager; import com.android.billingclient.api.BillingClient; import com.google.android.material.bottomnavigation.BottomNavigationView; import com.sun.mail.imap.IMAPStore; -import com.sun.mail.util.FolderClosedIOException; import com.sun.mail.util.MailConnectException; import org.json.JSONException; @@ -320,8 +319,6 @@ public class Helper { return null; if (ex instanceof FolderClosedException) return null; - if (ex instanceof FolderClosedIOException) - return null; if (ex instanceof IllegalStateException) // sync when store disconnected return null; diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index e6f60cb1f8..aead5474ad 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -23,6 +23,8 @@ import android.content.Context; import android.text.TextUtils; import android.webkit.MimeTypeMap; +import com.sun.mail.util.FolderClosedIOException; + import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; @@ -724,7 +726,7 @@ public class MessageHelper { private List attachments = new ArrayList<>(); private ArrayList warnings = new ArrayList<>(); - String getHtml(Context context) throws MessagingException, IOException { + String getHtml(Context context) throws MessagingException { if (plain == null && html == null) { warnings.add(context.getString(R.string.title_no_body)); return null; @@ -743,12 +745,10 @@ public class MessageHelper { result = readStream((InputStream) content, "UTF-8"); else result = content.toString(); - } catch (MessagingException ex) { - // Including FolderClosedException - throw ex; - } catch (IOException ex) { - // Including FolderClosedIOException + } catch (FolderClosedException ex) { throw ex; + } catch (FolderClosedIOException ex) { + throw new FolderClosedException(ex.getFolder(), "getHtml", ex); } catch (Throwable ex) { Log.w(ex); text = true; @@ -876,6 +876,8 @@ public class MessageHelper { db.attachment().setDownloaded(id, size); Log.i("Downloaded attachment size=" + size); + } catch (FolderClosedIOException ex) { + throw new FolderClosedException(ex.getFolder(), "downloadAttachment", ex); } catch (Throwable ex) { // Reset progress on failure db.attachment().setError(id, Helper.formatThrowable(ex));