diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 341f84fff8..f42fe2c7b7 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -510,6 +510,8 @@ public class FragmentAccount extends FragmentEx { @Override public Throwable loadInBackground() { try { + ServiceSynchronize.stop(getContext(), "folder"); + String name = args.getString("name"); String host = args.getString("host"); String port = args.getString("port"); @@ -629,12 +631,12 @@ public class FragmentAccount extends FragmentEx { db.endTransaction(); } - ServiceSynchronize.restart(getContext(), "account"); - return null; } catch (Throwable ex) { Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex)); return ex; + } finally { + ServiceSynchronize.restart(getContext(), "account"); } } } diff --git a/app/src/main/java/eu/faircode/email/FragmentFolder.java b/app/src/main/java/eu/faircode/email/FragmentFolder.java index 3d02eba48f..bec7344d09 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolder.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolder.java @@ -129,6 +129,8 @@ public class FragmentFolder extends FragmentEx { @Override public Throwable loadInBackground() { try { + ServiceSynchronize.stop(getContext(), "folder"); + long id = args.getLong("id"); boolean synchronize = args.getBoolean("synchronize"); String after = args.getString("after"); @@ -144,12 +146,12 @@ public class FragmentFolder extends FragmentEx { if (!folder.synchronize) db.message().deleteMessages(folder.id); - ServiceSynchronize.restart(getContext(), "folder"); - return null; } catch (Throwable ex) { Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex)); return ex; + } finally { + ServiceSynchronize.restart(getContext(), "folder"); } } } diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentity.java b/app/src/main/java/eu/faircode/email/FragmentIdentity.java index 6e51d1e2e3..d631e92a5d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentity.java @@ -318,6 +318,8 @@ public class FragmentIdentity extends FragmentEx { @Override public Throwable loadInBackground() { try { + ServiceSynchronize.stop(getContext(), "account"); + long id = args.getLong("id"); String name = args.getString("name"); String email = args.getString("email"); @@ -396,6 +398,8 @@ public class FragmentIdentity extends FragmentEx { } catch (Throwable ex) { Log.e(Helper.TAG, ex + "\n" + Log.getStackTraceString(ex)); return ex; + } finally { + ServiceSynchronize.restart(getContext(), "account"); } } }