diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt index 7cd102f9..ca5f52bb 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt @@ -19,6 +19,7 @@ import net.pokeranalytics.android.calculus.ComputedResults import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.model.comparison.Comparator import net.pokeranalytics.android.model.filter.QueryCondition +import net.pokeranalytics.android.ui.activity.StatisticDetailsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate @@ -72,6 +73,9 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable is GraphRow -> { //TODO: Open graph details toast("Open graph details") + row.report.results.firstOrNull()?.group?.let { computableGroup -> + StatisticDetailsActivity.newInstance(requireContext(), row.stat, computableGroup, row.report) + } } } } @@ -153,19 +157,27 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable val realm = Realm.getDefaultInstance() val conditions = ArrayList().apply { addAll(computedResults.group.conditions) + + // Remove session type conditions + removeAll(Comparator.CASH.queryConditions) + removeAll(Comparator.TOURNAMENT.queryConditions) + when (sessionTypeCondition) { QueryCondition.CASH -> addAll(Comparator.CASH.queryConditions) QueryCondition.TOURNAMENT -> addAll(Comparator.TOURNAMENT.queryConditions) } } - val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD) + val requiredStats: List = listOf(Stat.LOCATIONS_PLAYED, Stat.LONGEST_STREAKS, Stat.DAYS_PLAYED, Stat.STANDARD_DEVIATION_HOURLY) + val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD, stats = requiredStats) val report = Calculator.computeStatsWithComparators(realm, conditions = conditions, options = options) Timber.d("Report take: ${System.currentTimeMillis() - startDate.time}ms") report.results.firstOrNull()?.let { + // Create rows + rowRepresentables.clear() rowRepresentables.add(CustomizableRowRepresentable(RowViewType.HEADER_TITLE, resId = R.string.net_result)) rowRepresentables.add(GraphRow(report, Stat.NETRESULT)) @@ -192,7 +204,6 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable * Set data */ fun setData(computedResults: ComputedResults?, sessionTypeCondition: QueryCondition?, title: String?) { - Timber.d("Set data") this.computedResults = computedResults this.sessionTypeCondition = sessionTypeCondition 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 f6ca6cf9..255b6393 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 @@ -230,6 +230,9 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope, StaticRowRep val monthlyReports: HashMap = HashMap() val yearlyReports: HashMap = HashMap() + val requiredStats: List = listOf(Stat.LOCATIONS_PLAYED, Stat.LONGEST_STREAKS, Stat.DAYS_PLAYED, Stat.STANDARD_DEVIATION_HOURLY ) + val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD, stats = requiredStats) + // Compute data per YEAR and MONTH val monthConditions = when (sessionTypeCondition) { @@ -238,10 +241,6 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope, StaticRowRep else -> listOf(Comparator.YEAR, Comparator.MONTH_OF_YEAR).combined() } - val requiredStats: List = listOf(Stat.LOCATIONS_PLAYED, Stat.LONGEST_STREAKS, Stat.DAYS_PLAYED, - Stat.STANDARD_DEVIATION_HOURLY - ) - val options = Calculator.Options(evolutionValues = Calculator.Options.EvolutionValues.STANDARD, stats = requiredStats) monthConditions.forEach { conditions -> val report = Calculator.computeStatsWithComparators(realm, conditions = conditions, options = options)