From cc01dc960cdd5211aa4947c7f466c78af313ca53 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 20 Feb 2019 17:50:21 +0100 Subject: [PATCH] Added comments --- .../android/calculus/Calculator.kt | 20 +++++++++++++++++-- .../pokeranalytics/android/calculus/Stat.kt | 9 +++------ .../android/model/realm/Session.kt | 6 ++++++ 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt index 0378f937..6cf45dc0 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt @@ -8,8 +8,14 @@ import net.pokeranalytics.android.model.realm.SessionSet */ class Calculator { + /** + * The options used for calculations or display + */ class Options { + /** + * The way the stats are going to be displayed + */ enum class Display { TABLE, EVOLUTION, @@ -18,6 +24,9 @@ class Calculator { POLYNOMIAL } + /** + * The type of evolution values + */ enum class EvolutionValues { NONE, STANDARD, @@ -28,6 +37,9 @@ class Calculator { var evolutionValues: EvolutionValues = EvolutionValues.NONE var displayedStats: List = listOf() + /** + * This function determines whether the standard deviation should be computed + */ fun shouldComputeStandardDeviation() : Boolean { this.displayedStats.forEach { stat -> return when (stat) { @@ -47,7 +59,9 @@ class Calculator { return listOf() } - // Computes all stats for list of Session sessionGroup + /** + * Computes all stats for list of Session sessionGroup + */ fun computeGroups(groups: List, options: Options): List { var computedGroups: MutableList = mutableListOf() @@ -71,7 +85,9 @@ class Calculator { return computedGroups } - // Computes stats for a SessionSet + /** + * Computes stats for a SessionSet + */ fun compute(sessionGroup: SessionGroup, options: Options) : ComputedResults { val sessions: List = sessionGroup.sessions diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Stat.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Stat.kt index 4386165d..680f1060 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Stat.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Stat.kt @@ -27,12 +27,9 @@ enum class Stat : RowRepresentable { STANDARD_DEVIATION_BB_PER_100_HANDS, HANDS_PLAYED; - fun label() : String = when (this) { - NETRESULT -> "" - HOURLY_RATE -> "" - else -> throw IllegalArgumentException("Label not defined") - } - + /** + * Returns whether the stat evolution values requires a distribution sorting + */ fun hasDistributionSorting() : Boolean { when (this) { STANDARD_DEVIATION, STANDARD_DEVIATION_HOURLY, STANDARD_DEVIATION_BB_PER_100_HANDS -> return true 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 3a853b8c..05bd5dd1 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 @@ -133,16 +133,22 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource return 0.0 } + /** + * This method is called whenever a session is about to be deleted + */ fun cleanup() { this.sessionSet?.let { set -> + // get all sessions part of the deleted session set val sessionsFromSet = set.sessions + // cleanup unecessary related objects set.deleteFromRealm() this.timeFrame?.deleteFromRealm() this.result?.deleteFromRealm() + // make sessions recreate/find their session set sessionsFromSet?.let { sessions -> sessions.forEach { session -> session.timeFrame?.notifySessionDateChange()