diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt index dbbba9bc..5184b586 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt @@ -65,8 +65,8 @@ open class Filter : RealmObject() { private set fun createOrUpdateFilterConditions(filterConditionRows: ArrayList) { - filterConditions.clear() - filterConditionRows + val casted = arrayListOf() + filterConditionRows .map { it.filterName } @@ -77,10 +77,14 @@ open class Filter : RealmObject() { it.filterName == filterName } .apply { - val casted = arrayListOf() casted.addAll(this) - filterConditions.add(FilterCondition(casted)) - } + val newFilterCondition = FilterCondition(casted) + val previousCondition = filterConditions.filter { + it.sectionName == newFilterCondition.filterName + } + filterConditions.removeAll(previousCondition) + filterConditions.add(newFilterCondition) + } } }