1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-02-28 08:46:01 +00:00

Consider folder errors as fatal

This commit is contained in:
M66B 2019-12-08 09:31:09 +01:00
parent e4e180bbab
commit 274c397c65

View file

@ -47,7 +47,6 @@ import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import com.sun.mail.iap.BadCommandException;
import com.sun.mail.imap.IMAPFolder; import com.sun.mail.imap.IMAPFolder;
import java.text.DateFormat; import java.text.DateFormat;
@ -882,27 +881,14 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
try { try {
ifolder.open(Folder.READ_ONLY); ifolder.open(Folder.READ_ONLY);
db.folder().setFolderReadOnly(folder.id, true); db.folder().setFolderReadOnly(folder.id, true);
} catch (MessagingException ex1) { } catch (Throwable ex1) {
Log.w(folder.name, ex1);
db.folder().setFolderState(folder.id, null);
db.folder().setFolderError(folder.id, Log.formatThrowable(ex1)); db.folder().setFolderError(folder.id, Log.formatThrowable(ex1));
continue; throw ex1;
} }
} catch (FolderNotFoundException ex) { } catch (FolderNotFoundException ex) {
Log.w(folder.name, ex); Log.w(folder.name, ex);
db.folder().deleteFolder(folder.id); db.folder().deleteFolder(folder.id);
continue; continue;
} catch (MessagingException ex) {
Log.e(folder.name, ex);
db.folder().setFolderState(folder.id, null);
if (ex.getCause() instanceof BadCommandException)
throw ex;
if ("connection failure".equals(ex.getMessage()))
throw ex;
db.folder().setFolderError(folder.id, Log.formatThrowable(ex));
continue;
} catch (Throwable ex) { } catch (Throwable ex) {
db.folder().setFolderError(folder.id, Log.formatThrowable(ex)); db.folder().setFolderError(folder.id, Log.formatThrowable(ex));
throw ex; throw ex;
@ -1016,7 +1002,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences
} else } else
mapFolders.put(folder, null); mapFolders.put(folder, null);
Log.i(folder.name + " observing"); Log.d(folder.name + " observing");
handler.post(new Runnable() { handler.post(new Runnable() {
@Override @Override
public void run() { public void run() {