filter realm management

feature/top10
Razmig Sarkissian 7 years ago
parent 5cb406dc96
commit b94cd9cdeb
  1. 33
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt

@ -4,6 +4,7 @@ import io.realm.MutableRealmInteger
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterElement
import java.util.*
//import net.pokeranalytics.android.FilterComponent
@ -21,6 +22,34 @@ open class Filter : RealmObject() {
// for MutableRealmInteger, see https://realm.io/docs/java/latest/#counters
val usageCount: MutableRealmInteger = MutableRealmInteger.valueOf(0)
var components: RealmList<FilterComponent>? = null
var components: RealmList<FilterComponent> = RealmList()
fun componentsFrom(filterElements: ArrayList<FilterElement>) {
components.clear()
var sections = filterElements.mapNotNull {
it.filterSection
}.distinct()
sections.forEach { section ->
var _filterElements = filterElements.filter {
it.filterSection?.let { _section ->
_section == section
} ?: run {
false
}
}
if (_filterElements.size == 1) {
var component : FilterComponent = FilterComponent(_filterElements.first())
components.add(component)
} else {
var casted = arrayListOf<FilterElement>()
casted.addAll(_filterElements)
var component : FilterComponent = FilterComponent(casted)
components.add(component)
}
}
}
}

Loading…
Cancel
Save