Fixes issue with stats calculation

feature/top10
Laurent 7 years ago
parent 01279e42ea
commit 4ea85627a6
  1. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt
  3. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt

@ -52,9 +52,6 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource
val session = Session()
session.result = Result()
val computableResult = ComputableResult()
computableResult.session = session
if (bankroll != null) {
session.bankroll = bankroll
} else {
@ -156,7 +153,6 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource
this.updateRowRepresentation()
}
// The limit type: NL, PL...
var limit: Int? = null
@ -190,7 +186,7 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource
var cgBigBlind: Double? = null
set(value) {
field = value
this.updateComputableResult()
this.computeStats()
}
// Tournament
@ -287,6 +283,14 @@ open class Session : RealmObject(), Manageable, StaticRowRepresentableDataSource
* Pre-compute various stats
*/
private fun computeStats() {
if (this.startDate != null && this.endDate != null && this.computableResult == null) {
val computableResult = realm.createObject(ComputableResult::class.java)
computableResult.session = this
} else {
this.computableResult?.deleteFromRealm()
}
this.updateComputableResult()
}

@ -161,12 +161,9 @@ class StatsFragment : SessionObserverFragment(), StaticRowRepresentableDataSourc
private fun createSessionGroupsAndStartCompute(realm: Realm) : List<ComputedResults> {
// val cgSessions = mutableListOf<Computable>()
// val tSessions = mutableListOf<Computable>()
val s = Date()
val allSessions = realm.where(ComputableResult::class.java).isNotNull("session.endDate").findAll()
val allSessions = realm.where(ComputableResult::class.java).findAll()
val allSessionSets = realm.where(SessionSet::class.java).findAll()
Timber.d(">>>>> number of computables to compute = ${allSessions.size}")

@ -10,7 +10,7 @@ open class SessionObserverFragment : PokerAnalyticsFragment() {
init {
val realm = Realm.getDefaultInstance()
this.endedSessions = realm.where(ComputableResult::class.java).isNotNull("session.endDate").findAll()
this.endedSessions = realm.where(ComputableResult::class.java).findAll() // ComputableResult are existing only if sessions are ended
this.endedSessions.addChangeListener { _, _ ->
this.sessionsChanged()
}

Loading…
Cancel
Save