update filter interface signature

feature/top10
Razmig Sarkissian 7 years ago
parent 032c2aa7ae
commit 41de2d5370
  1. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/DateFilterable.kt
  2. 4
      app/src/main/java/net/pokeranalytics/android/model/filter/Filterable.kt
  3. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/SessionFilterable.kt
  4. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/interfaces/Filterable.kt

@ -1,5 +1,6 @@
package net.pokeranalytics.android.model.filter
import io.realm.RealmObject
import io.realm.RealmQuery
import net.pokeranalytics.android.model.filter.interfaces.Filterable
import java.util.*
@ -37,7 +38,7 @@ enum class DateFilterable : Filterable {
}
}
override fun filter(realmQuery: RealmQuery<*>): RealmQuery<*> {
override fun filter(realmQuery: RealmQuery<out RealmObject>): RealmQuery<out RealmObject> {
return when (this) {
STARTED_FROM_DATE -> {
val date : Date by filterValues

@ -34,9 +34,9 @@ import net.pokeranalytics.android.model.filter.interfaces.Filterable
class FilterManager {
fun filter(realm:Realm, relatedEntity: Class<out RealmObject>, queries:List<Filterable>): RealmResults<*> {
var realmQuery = realm.where(relatedEntity)
var realmQuery : RealmQuery<out RealmObject> = realm.where(relatedEntity)
queries.forEach {
realmQuery = (it.filter(realmQuery) as RealmQuery<out RealmObject>).and()
realmQuery = (it.filter(realmQuery)).and()
}
return realmQuery.findAll()
}

@ -1,5 +1,6 @@
package net.pokeranalytics.android.model.filter
import io.realm.RealmObject
import io.realm.RealmQuery
import net.pokeranalytics.android.exceptions.FilterValueMapException
import net.pokeranalytics.android.model.filter.interfaces.Filterable
@ -53,7 +54,7 @@ enum class SessionFilterable: Filterable {
}
}
override fun filter(realmQuery: RealmQuery<*>): RealmQuery<*> {
override fun filter(realmQuery: RealmQuery<out RealmObject>): RealmQuery<out RealmObject> {
return when (this) {
LIVE -> realmQuery.equalTo(Field.LIVE.fieldName, true)
CASH -> realmQuery.equalTo(Field.CASH.fieldName, Session.Type.CASH_GAME.ordinal)

@ -1,7 +1,8 @@
package net.pokeranalytics.android.model.filter.interfaces
import io.realm.RealmObject
import io.realm.RealmQuery
interface Filterable : ValueFilterable {
fun filter(realmQuery: RealmQuery<*>): RealmQuery<*>
fun filter(realmQuery: RealmQuery<out RealmObject>): RealmQuery<out RealmObject>
}

Loading…
Cancel
Save