Fixes calendar cash/tournament not being used for All/Past x days

blinds
Laurent 5 years ago
parent bb3aa51cee
commit 6325daf4c3
  1. 4
      app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt
  2. 22
      app/src/main/java/net/pokeranalytics/android/ui/modules/calendar/CalendarFragment.kt

@ -11,9 +11,9 @@ fun List<Query>.mapFirstCondition() : List<QueryCondition> {
class Query { class Query {
constructor(vararg elements: QueryCondition) { constructor(vararg elements: QueryCondition?) {
if (elements.isNotEmpty()) { if (elements.isNotEmpty()) {
this.add(elements.asList()) this.add(elements.filterNotNull())
} }
} }

@ -66,8 +66,8 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
private var sortedMonthlyReports: SortedMap<Date, ComputedResults> = HashMap<Date, ComputedResults>().toSortedMap() private var sortedMonthlyReports: SortedMap<Date, ComputedResults> = HashMap<Date, ComputedResults>().toSortedMap()
private var sortedYearlyReports: SortedMap<Date, ComputedResults> = HashMap<Date, ComputedResults>().toSortedMap() private var sortedYearlyReports: SortedMap<Date, ComputedResults> = HashMap<Date, ComputedResults>().toSortedMap()
private val slidingMonthQuery = Query(QueryCondition.PastDay(30)) private val slidingMonthQueryCondition = QueryCondition.PastDay(30)
private val slidingYearQuery = Query(QueryCondition.PastDay(365)) private val slidingYearQueryCondition = QueryCondition.PastDay(365)
private var slidingMonthResults: ComputedResults? = null private var slidingMonthResults: ComputedResults? = null
private var slidingYearResults: ComputedResults? = null private var slidingYearResults: ComputedResults? = null
@ -143,7 +143,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
when (position) { when (position) {
0 -> { 0 -> {
this.slidingMonthResults?.let { this.slidingMonthResults?.let {
showDetails(it, slidingMonthQuery.getName(requireContext())) showDetails(it, slidingMonthQueryCondition.getDisplayNameWithValues(requireContext()))
} }
} }
else -> { else -> {
@ -158,7 +158,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
when (position) { when (position) {
0 -> { 0 -> {
this.slidingYearResults?.let { this.slidingYearResults?.let {
showDetails(it, slidingYearQuery.getName(requireContext())) showDetails(it, slidingYearQueryCondition.getDisplayNameWithValues(requireContext()))
} }
} }
else -> { else -> {
@ -350,6 +350,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
val allOptions = Calculator.Options( val allOptions = Calculator.Options(
progressValues = Calculator.Options.ProgressValues.STANDARD, progressValues = Calculator.Options.ProgressValues.STANDARD,
stats = requiredStats, stats = requiredStats,
query = Query(this.sessionTypeCondition)
) )
val allReport = Calculator.computeStats(realm, options = allOptions) val allReport = Calculator.computeStats(realm, options = allOptions)
this.allComputedResults = allReport.results.first() this.allComputedResults = allReport.results.first()
@ -358,7 +359,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
val smOptions = Calculator.Options( val smOptions = Calculator.Options(
progressValues = Calculator.Options.ProgressValues.STANDARD, progressValues = Calculator.Options.ProgressValues.STANDARD,
stats = requiredStats, stats = requiredStats,
query = this.slidingMonthQuery query = Query(this.slidingMonthQueryCondition, this.sessionTypeCondition)
) )
val smReport = Calculator.computeStats(realm, options = smOptions) val smReport = Calculator.computeStats(realm, options = smOptions)
@ -369,10 +370,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
val monthlyQueries = when (sessionTypeCondition) { val monthlyQueries = when (sessionTypeCondition) {
QueryCondition.IsCash -> listOf(Criteria.AllMonthsUpToNow, Criteria.Cash).combined() QueryCondition.IsCash -> listOf(Criteria.AllMonthsUpToNow, Criteria.Cash).combined()
QueryCondition.IsTournament -> listOf( QueryCondition.IsTournament -> listOf(Criteria.AllMonthsUpToNow, Criteria.Tournament).combined()
Criteria.AllMonthsUpToNow,
Criteria.Tournament
).combined()
else -> listOf(Criteria.Years, Criteria.MonthsOfYear).combined() else -> listOf(Criteria.Years, Criteria.MonthsOfYear).combined()
} }
@ -408,7 +406,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
val syOptions = Calculator.Options( val syOptions = Calculator.Options(
progressValues = Calculator.Options.ProgressValues.STANDARD, progressValues = Calculator.Options.ProgressValues.STANDARD,
stats = requiredStats, stats = requiredStats,
query = this.slidingYearQuery query = Query(this.slidingYearQueryCondition, this.sessionTypeCondition)
) )
val syReport = Calculator.computeStats(realm, options = syOptions) val syReport = Calculator.computeStats(realm, options = syOptions)
@ -501,7 +499,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
slidingMonthResults?.computedStat(this.currentStat)?.let { computedStat -> slidingMonthResults?.computedStat(this.currentStat)?.let { computedStat ->
val row = CustomizableRowRepresentable( val row = CustomizableRowRepresentable(
customViewType = RowViewType.TITLE_VALUE_ARROW, customViewType = RowViewType.TITLE_VALUE_ARROW,
title = this.slidingMonthQuery.getName(requireContext()), title = this.slidingMonthQueryCondition.getDisplayNameWithValues(requireContext()),
valueTextFormat = computedStat.textFormat, valueTextFormat = computedStat.textFormat,
isSelectable = true isSelectable = true
) )
@ -541,7 +539,7 @@ class CalendarFragment : RealmFragment(), CoroutineScope, StaticRowRepresentable
this.slidingYearResults?.computedStat(this.currentStat)?.let { computedStat -> this.slidingYearResults?.computedStat(this.currentStat)?.let { computedStat ->
val row = CustomizableRowRepresentable( val row = CustomizableRowRepresentable(
customViewType = RowViewType.TITLE_VALUE_ARROW, customViewType = RowViewType.TITLE_VALUE_ARROW,
title = this.slidingYearQuery.getName(requireContext()), title = this.slidingYearQueryCondition.getDisplayNameWithValues(requireContext()),
valueTextFormat = computedStat.textFormat, valueTextFormat = computedStat.textFormat,
isSelectable = true isSelectable = true
) )

Loading…
Cancel
Save