From f2af822e296e14e0d8072ad573c27b917b2e4d14 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 23 May 2019 10:17:48 +0200 Subject: [PATCH] Clean entries when deleted or type is not a list --- .../pokeranalytics/android/model/realm/CustomField.kt | 10 ++++++++-- .../ui/fragment/data/CustomFieldDataFragment.kt | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt index ee0ace73..e5f98fee 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt @@ -236,10 +236,16 @@ open class CustomField : RealmObject(), NameManageable, StaticRowRepresentableDa } /** - * Remove the deleted entries from realm + * Clean the entries if the type is not a list & remove the deleted entries from realm */ - fun cleanDeletedEntries(realm: Realm) { + fun cleanEntries(realm: Realm) { realm.executeTransaction { + + if (!isListType) { + entriesToDelete.addAll(entries) + entries.clear() + } + entriesToDelete.forEach { realm.where().equalTo("id", it.id).findFirst()?.deleteFromRealm() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt index cae1fe35..90a636d5 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.kt @@ -202,7 +202,7 @@ class CustomFieldDataFragment : EditableDataFragment(), StaticRowRepresentableDa override fun onDataSaved() { super.onDataSaved() - customField.cleanDeletedEntries(getRealm()) + customField.cleanEntries(getRealm()) } /**