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()) } /**