Bugfix and improve Comparator

feature/top10
Aurelien Hubert 7 years ago
parent 80e2dacb86
commit 874b539a5d
  1. 20
      app/src/main/java/net/pokeranalytics/android/model/comparison/Comparator.kt

@ -8,10 +8,8 @@ import net.pokeranalytics.android.exceptions.PokerAnalyticsException
import net.pokeranalytics.android.model.filter.Filterable
import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.fragment.CalendarFragment
import java.util.*
import kotlin.collections.ArrayList
import kotlin.collections.HashSet
enum class Comparator {
DAY_OF_WEEK,
@ -24,7 +22,7 @@ enum class Comparator {
val queryConditions: List<QueryCondition>
get() {
return when (this) {
MONTH_OF_YEAR -> List(12) { index-> QueryCondition.MONTH().apply { setMonth(index+1) } }
MONTH_OF_YEAR -> List(12) { index -> QueryCondition.MONTH().apply { setMonth(index) } }
DAY_OF_WEEK -> listOf()
YEAR -> {
val years = arrayListOf<QueryCondition.YEAR>()
@ -33,22 +31,12 @@ enum class Comparator {
val yearNow = calendar.get(Calendar.YEAR)
val realm = Realm.getDefaultInstance()
realm.where<Session>().sort("year", Sort.ASCENDING).findFirst()?.year?.let {
List(yearNow - it ) { index-> QueryCondition.YEAR().apply { setYear(yearNow - index) } }
}
realm.close()
years
/*
val years = arrayListOf<QueryCondition.YEAR>()
val realm = Realm.getDefaultInstance()
val distinctYears = realm.where<Session>().distinct("year").findAll().sort("year", Sort.DESCENDING)
distinctYears.forEach { session ->
session.year?.let { year ->
years.add(QueryCondition.YEAR().apply { setYear(year) })
for (index in 0..(yearNow - it)) {
years.add(QueryCondition.YEAR().apply { setYear(yearNow - index) })
}
}
realm.close()
years
*/
}
else -> throw PokerAnalyticsException.QueryTypeUnhandled
}
@ -80,12 +68,14 @@ fun <T> getCombinations(lists: List<List<T>>): List<List<T>> {
// extract each of the integers in the first list
// and add each to ints as a new list
if (lists.isNotEmpty()) {
for (i in lists[0]) {
val newList = ArrayList<T>()
newList.add(i)
combinations.add(newList)
}
index++
}
while (index < lists.size) {
val nextList = lists[index]
newCombinations = LinkedHashSet()

Loading…
Cancel
Save