diff --git a/app/src/main/java/foundation/e/drive/services/SynchronizationService.java b/app/src/main/java/foundation/e/drive/services/SynchronizationService.java index 4615e30bb520b20793891a6d19001c6862d7f19f..93db0f01ebf3ed414b1795643cbda0943b1bf48d 100644 --- a/app/src/main/java/foundation/e/drive/services/SynchronizationService.java +++ b/app/src/main/java/foundation/e/drive/services/SynchronizationService.java @@ -105,7 +105,7 @@ public class SynchronizationService extends Service implements OnRemoteOperation */ public void queueSyncRequest(SyncRequest request) { for (SyncWrapper syncWrapper : startedSync.values()) { - if (syncWrapper.equals(request)) { + if (syncWrapper.isRunning() && syncWrapper.equals(request)) { return; } } @@ -128,7 +128,9 @@ public class SynchronizationService extends Service implements OnRemoteOperation */ public void queueSyncRequests(Collection requests) { for (SyncWrapper syncWrapper : startedSync.values()) { - requests.removeIf(syncRequest -> syncWrapper.equals(syncRequest)); + if (syncWrapper.isRunning()) { + requests.removeIf(syncRequest -> syncWrapper.equals(syncRequest)); + } } final SharedPreferences prefs = getSharedPreferences(FAILED_TRANSFER_PREF, Context.MODE_PRIVATE); requests.removeIf(syncRequest -> prefs.getInt(syncRequest.getSyncedFileState().getLocalPath(), 0) >= FAILURE_LIMIT);