From 157ebe0c38b3f1c5cd4cc0af56772c018242bfda Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 16 Apr 2021 11:22:06 +0200 Subject: [PATCH] Adds tips to stats --- .../android/model/realm/Result.kt | 4 ++++ .../android/model/realm/Session.kt | 1 + .../android/ui/fragment/StatisticsFragment.kt | 17 +++++++++++++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt index 70a7533f..bad54e3e 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Result.kt @@ -75,6 +75,10 @@ open class Result : RealmObject(), Filterable { * Tips */ var tips: Double? = null + set(value) { + field = value + this.session?.computeStats() + } // The transactions associated with the Result, impacting the result var transactions: RealmList = RealmList() diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 19bdaaaf..e54d3989 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -265,6 +265,7 @@ open class Session : RealmObject(), Savable, RowUpdatable, RowRepresentable, Tim set(value) { field = value this.formatBlinds() + this.computeStats() // this.updateRowRepresentation() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticsFragment.kt index 3085cc7a..6b8d81f9 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticsFragment.kt @@ -20,8 +20,9 @@ import net.pokeranalytics.android.exceptions.PAIllegalStateException import net.pokeranalytics.android.model.filter.Query import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.realm.ComputableResult -import net.pokeranalytics.android.model.realm.UserConfig import net.pokeranalytics.android.model.realm.Filter +import net.pokeranalytics.android.model.realm.Result +import net.pokeranalytics.android.model.realm.UserConfig import net.pokeranalytics.android.ui.fragment.components.FilterableFragment import net.pokeranalytics.android.ui.fragment.components.RealmAsyncListener import net.pokeranalytics.android.ui.fragment.report.ComposableTableReportFragment @@ -197,7 +198,7 @@ class StatisticsFragment : FilterableFragment(), RealmAsyncListener { val query = filter?.query ?: Query() val allSessionGroup = ComputableGroup(query, allStats) - val cgStats: List = listOf( + val cgStats: MutableList = mutableListOf( Stat.NET_RESULT, Stat.HOURLY_RATE, Stat.NET_BB_PER_100_HANDS, @@ -208,9 +209,13 @@ class StatisticsFragment : FilterableFragment(), RealmAsyncListener { Stat.NUMBER_OF_GAMES, Stat.AVERAGE_BUYIN ) + + if (QueryCondition.IsCash.queryWith(realm.where(Result::class.java).isNotNull("tips")).count() > 0) { + cgStats.add(Stat.TOTAL_TIPS) + } + val cgSessionGroup = ComputableGroup(Query(QueryCondition.IsCash).merge(query), cgStats) - val tStats: List = - listOf( + val tStats: MutableList = mutableListOf( Stat.NET_RESULT, Stat.HOURLY_RATE, Stat.ROI, @@ -218,6 +223,10 @@ class StatisticsFragment : FilterableFragment(), RealmAsyncListener { Stat.NUMBER_OF_GAMES, Stat.AVERAGE_BUYIN ) + if (QueryCondition.IsTournament.queryWith(realm.where(Result::class.java).isNotNull("tips")).count() > 0) { + tStats.add(Stat.TOTAL_TIPS) + } + val tSessionGroup = ComputableGroup(Query(QueryCondition.IsTournament).merge(query), tStats) Timber.d(">>>>> Start computations...")