diff --git a/app/src/main/java/eu/faircode/email/AdapterOperation.java b/app/src/main/java/eu/faircode/email/AdapterOperation.java index de0d5fc593..bf476efc66 100644 --- a/app/src/main/java/eu/faircode/email/AdapterOperation.java +++ b/app/src/main/java/eu/faircode/email/AdapterOperation.java @@ -228,7 +228,11 @@ public class AdapterOperation extends RecyclerView.Adapter 0) + operation.cleanup(context, false); + + if (EntityOperation.SYNC.equals(operation.name)) + db.folder().setFolderSyncState(operation.folder, null); db.folder().setFolderError(operation.folder, null); if (operation.message != null) diff --git a/app/src/main/java/eu/faircode/email/FragmentOperations.java b/app/src/main/java/eu/faircode/email/FragmentOperations.java index fdc1dec124..4350a765d2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOperations.java +++ b/app/src/main/java/eu/faircode/email/FragmentOperations.java @@ -204,10 +204,14 @@ public class FragmentOperations extends FragmentBase { for (EntityOperation op : ops) { EntityLog.log(context, "Deleting operation=" + op.id + ":" + op.name + " error=" + op.error); + if (db.operation().deleteOperation(op.id) > 0) { op.cleanup(context, false); deleted++; } + + if (EntityOperation.SYNC.equals(op.name)) + db.folder().setFolderSyncState(op.folder, null); } db.setTransactionSuccessful(); diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 830eb292a6..03c187c995 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -426,6 +426,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences for (EntityFolder folder : db.folder().getFolders(accountNetworkState.accountState.id, false, false)) { db.folder().setFolderState(folder.id, null); + if (db.operation().getOperationCount(folder.id, EntityOperation.SYNC) == 0) + db.folder().setFolderSyncState(folder.id, null); db.folder().setFolderPollCount(folder.id, 0); }