From 28800cb527e3efa4f0dd607f1c70e4e1de9e083c Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 17 Nov 2024 15:44:37 +0100 Subject: [PATCH] Prevent duplicate operations --- .../main/java/eu/faircode/email/ServiceSynchronize.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 1c11d8fe8e..00fbf57eab 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2190,8 +2190,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences cowner.value.start(); db.operation().liveOperations(account.id).observe(cowner.value, new Observer>() { - private DutyCycle dc = new DutyCycle(account.name + " operations"); - private List handling = new ArrayList<>(); + private final DutyCycle dc = new DutyCycle(account.name + " operations"); + private final List handling = new ArrayList<>(); private final Map> partitions = new HashMap<>(); private final PowerManager.WakeLock wlOperations = pm.newWakeLock( @@ -2210,7 +2210,8 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences added.get(op.folder).add(op); } } - handling = all; + handling.clear(); + handling.addAll(all); if (empty_pool && istore instanceof IMAPStore) { getMainHandler().removeCallbacks(purge);