diff --git a/app/src/main/java/net/pokeranalytics/android/model/Criteria.kt b/app/src/main/java/net/pokeranalytics/android/model/Criteria.kt index 8dfbcec0..0a33cc1a 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/Criteria.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/Criteria.kt @@ -88,7 +88,6 @@ sealed class Criteria { abstract class RealmCriteria : Criteria() { inline fun comparison(): List { return compare, T>() -// .sorted() } } @@ -111,7 +110,7 @@ sealed class Criteria { else -> null } }.distinct() - return compareList(values = values)//.sorted() + return compareList(values = values) } return listOf() } @@ -200,13 +199,13 @@ sealed class Criteria { realm.where().sort("year", Sort.ASCENDING).findFirst()?.year?.let { for (index in 0..(yearNow - it)) { val yearCondition = QueryCondition.AnyYear().apply { - listOfValues = arrayListOf(yearNow - index) + listOfValues = arrayListOf(it + index) } years.add(Query(yearCondition)) } } realm.close() - years//.sorted() + years } is Blinds -> comparison() else -> throw PokerAnalyticsException.QueryTypeUnhandled @@ -215,28 +214,29 @@ sealed class Criteria { companion object { inline fun , reified T : NameManageable> compare(): List { - val objects = mutableListOf() + val objects = mutableListOf() val realm = Realm.getDefaultInstance() realm.where().findAll().forEach { val condition = (QueryCondition.getInstance() as S).apply { setObject(it) } - val query = Query(condition) - objects.add(query) + objects.add(condition) } + objects.sorted() realm.close() - return objects + return objects.map { Query(it) } } inline fun < reified S : QueryCondition.ListOfValues, T:Any > compareList(values:List): List { - val objects = mutableListOf() + val objects = mutableListOf() values.forEach { val condition =(S::class.java.newInstance()).apply { listOfValues = arrayListOf(it) } - objects.add(Query(condition)) + objects.add(condition) } - return objects + objects.sorted() + return objects.map { Query(it) } } } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt index c8298a16..ffcfdd62 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt @@ -6,11 +6,7 @@ fun List.mapFirstCondition() : List { return this.map { it.conditions.first() } } -class Query : Comparable { - - override fun compareTo(other: QueryCondition): Int { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. - } +class Query { constructor(vararg elements: QueryCondition) { if (elements.size > 0) {