From 63eb8a2cbd884ef29ca8c0abb91ea9a2a198afa2 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Mon, 15 Apr 2019 17:23:43 +0200 Subject: [PATCH] example month year comparator in calendar --- .../android/ui/fragment/CalendarFragment.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt index 42df13ff..e9c891d3 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt @@ -14,6 +14,7 @@ import net.pokeranalytics.android.calculus.Calculator import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.model.comparison.Comparator +import net.pokeranalytics.android.model.comparison.combined import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.ui.fragment.components.SessionObserverFragment import net.pokeranalytics.android.ui.view.CalendarTabs @@ -87,19 +88,23 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope { - val comparator = Comparator.MONTH // returns all months - - val conditions = comparator.queryConditions + // compute per cell (year x month) + // build conditions array and save it + val conditions = listOf(Comparator.YEAR, Comparator.MONTH_OF_YEAR).combined() + // compute at index conditions.forEach { - - val realm = getRealm() - Calculator.computeStatsWithComparators(realm, conditions = listOf(it), options = Calculator.Options()) - + Calculator.computeStatsWithComparators(realm, conditions = it, options = Calculator.Options()) } + // compute per cell (year) + // build year conditions array and save it + val yearConditions = listOf(Comparator.YEAR) - + // compute at index + yearConditions .forEach { + Calculator.computeStatsWithComparators(realm, conditions = it.queryConditions, options = Calculator.Options()) + } } override val coroutineContext: CoroutineContext