diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index a9d8e4cd..1c9b7d94 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -9,6 +9,7 @@ import io.realm.RealmConfiguration import io.realm.kotlin.where import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch +import net.pokeranalytics.android.model.migrations.Patcher import net.pokeranalytics.android.model.migrations.PokerAnalyticsMigration import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.utils.Seed @@ -53,6 +54,8 @@ class PokerAnalyticsApplication : Application() { Timber.d("UserPreferences.defaultCurrency: ${UserDefaults.currency.symbol}") //this.createFakeSessions() } + + Patcher.patchBreaks() } /** diff --git a/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt b/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt new file mode 100644 index 00000000..498cf6d2 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/migrations/Patcher.kt @@ -0,0 +1,28 @@ +package net.pokeranalytics.android.model.migrations + +import io.realm.Realm +import net.pokeranalytics.android.model.realm.SessionSet + +class Patcher { + + companion object { + + fun patchBreaks() { + + val realm = Realm.getDefaultInstance() + val sets = realm.where(SessionSet::class.java).findAll() + + realm.executeTransaction { + sets.forEach { + it.computeStats() + } + + } + realm.close() + + } + + } + + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt index 77f4dc1b..cb3506c5 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/SessionSet.kt @@ -63,6 +63,7 @@ open class SessionSet() : RealmObject(), Timed, Filterable { this.ratedNet = this.sessions?.sumByDouble { it.computableResult?.ratedNet ?: 0.0 } ?: 0.0 this.estimatedHands = this.sessions?.sumByDouble { it.estimatedHands } ?: 0.0 this.bbNet = this.sessions?.sumByDouble { it.bbNet } ?: 0.0 + this.breakDuration = this.sessions?.max("breakDuration")?.toLong() ?: 0L } /**