Clean entries when deleted or type is not a list

dev
Aurelien Hubert 7 years ago
parent 1deb7d4d46
commit f2af822e29
  1. 10
      app/src/main/java/net/pokeranalytics/android/model/realm/CustomField.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/data/CustomFieldDataFragment.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 { realm.executeTransaction {
if (!isListType) {
entriesToDelete.addAll(entries)
entries.clear()
}
entriesToDelete.forEach { entriesToDelete.forEach {
realm.where<CustomFieldEntry>().equalTo("id", it.id).findFirst()?.deleteFromRealm() realm.where<CustomFieldEntry>().equalTo("id", it.id).findFirst()?.deleteFromRealm()
} }

@ -202,7 +202,7 @@ class CustomFieldDataFragment : EditableDataFragment(), StaticRowRepresentableDa
override fun onDataSaved() { override fun onDataSaved() {
super.onDataSaved() super.onDataSaved()
customField.cleanDeletedEntries(getRealm()) customField.cleanEntries(getRealm())
} }
/** /**

Loading…
Cancel
Save