diff options
author | desperateCoder <echotodevnull@gmail.com> | 2022-06-10 18:51:32 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2022-06-10 18:51:32 +0300 |
commit | 8feb098510b8adf7799023d0ac1d24272b360445 (patch) | |
tree | 8c98e2a1976c4c9156372b870248ed5ca8fa19db | |
parent | 8814b7bda222fc958c45a643f82e407ffbf215f9 (diff) |
#1287 duplicate moved card: don't propagate unsynced deleted card
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java index 41accd486..30829f4e4 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java @@ -111,7 +111,13 @@ public class DataPropagationHelper { public <T extends IRemoteEntity> void deleteEntity(@NonNull final AbstractSyncDataProvider<T> provider, @NonNull T entity, @NonNull ResponseCallback<Void> callback){ final long accountId = callback.getAccount().getId(); - provider.deleteInDB(dataBaseAdapter, accountId, entity); + // known to server? + if (entity.getId() != null) { + provider.deleteInDB(dataBaseAdapter, accountId, entity); + } else { + // junk, bye. + provider.deletePhysicallyInDB(dataBaseAdapter, accountId, entity); + } if (entity.getId() != null && serverAdapter.hasInternetConnection()) { try { provider.deleteOnServer(serverAdapter, accountId, new ResponseCallback<>(new Account(accountId)) { |