From 2f2cbf343ed3903be13a15e127ba55c76ce81efa Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 17 Jan 2022 22:07:32 +0100 Subject: [PATCH] Fix object deletion --- .../keepass/database/merge/DatabaseKDBXMerger.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/kunzisoft/keepass/database/merge/DatabaseKDBXMerger.kt b/app/src/main/java/com/kunzisoft/keepass/database/merge/DatabaseKDBXMerger.kt index 34cf23544..4853ed8cf 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/merge/DatabaseKDBXMerger.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/merge/DatabaseKDBXMerger.kt @@ -62,11 +62,11 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) { } if (database.settingsChanged.date.before(databaseToMerge.settingsChanged.date)) { database.color = databaseToMerge.color + database.compressionAlgorithm = databaseToMerge.compressionAlgorithm database.historyMaxItems = databaseToMerge.historyMaxItems database.historyMaxSize = databaseToMerge.historyMaxSize database.encryptionAlgorithm = databaseToMerge.encryptionAlgorithm database.kdfParameters = databaseToMerge.kdfParameters - database.compressionAlgorithm = databaseToMerge.compressionAlgorithm database.numberKeyEncryptionRounds = databaseToMerge.numberKeyEncryptionRounds database.memoryUsage = databaseToMerge.memoryUsage database.parallelism = databaseToMerge.parallelism @@ -207,10 +207,10 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) { if (entry == null) { // If it's a deleted object, but another instance was updated // If entry parent to add exists and in current database - if (deletedObject == null + if ((deletedObject == null || deletedObject.deletionTime.date - .before(entryToMerge.lastModificationTime.date) - || parentEntryToMerge != null) { + .before(entryToMerge.lastModificationTime.date)) + && parentEntryToMerge != null) { database.addEntryTo(entryToMerge, parentEntryToMerge) } } else if (entry.lastModificationTime.date @@ -275,10 +275,10 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) { if (group == null) { // If group parent to add exists and in current database - if (deletedObject == null + if ((deletedObject == null || deletedObject.deletionTime.date - .before(groupToMerge.lastModificationTime.date) - || parentGroupToMerge != null) { + .before(groupToMerge.lastModificationTime.date)) + && parentGroupToMerge != null) { database.addGroupTo(groupToMerge, parentGroupToMerge) } } else if (group.lastModificationTime.date