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 01768170..abdd0115 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt @@ -59,7 +59,7 @@ class Calculator { */ var progressValues: ProgressValues = progressValues get() { - if (field == ProgressValues.NONE && this.display == Display.PROGRESS) { + if (field == ProgressValues.NONE && this.display.requireProgressValues) { return ProgressValues.STANDARD } return field @@ -99,6 +99,14 @@ class Calculator { else -> throw PAIllegalStateException("undefined activity for report display") } } + + val requireProgressValues: Boolean + get() { + return when (this) { + PROGRESS, COMPARISON -> true + else -> false + } + } } /** diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/ReportSetup.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/ReportSetup.kt index b48d8927..8d44f3df 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/ReportSetup.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/ReportSetup.kt @@ -66,28 +66,29 @@ open class ReportSetup : RealmObject(), RowRepresentable, Deletable { */ fun options(realm: Realm): Calculator.Options { - val stats = this.statIds.map { Stat.valueByIdentifier(it) } + val stats = this.statIds.map { Stat.valueByIdentifier(it) } - // Comparison criteria - val criteria = this.criteriaIds.map { Criteria.valueByIdentifier(it) } + // Comparison criteria + val criteria = this.criteriaIds.map { Criteria.valueByIdentifier(it) } - val customFields = this.criteriaCustomFieldIds.mapNotNull { realm.findById(it) } + val customFields = this.criteriaCustomFieldIds.mapNotNull { realm.findById(it) } - val cfCriteria = customFields.map { it.criteria } + val cfCriteria = customFields.map { it.criteria } - val allCriteria = mutableListOf() - allCriteria.addAll(criteria) - allCriteria.addAll(cfCriteria) + val allCriteria = mutableListOf() + allCriteria.addAll(criteria) + allCriteria.addAll(cfCriteria) - return Calculator.Options( + + return Calculator.Options( display = Calculator.Options.Display.values()[this.display], stats = stats, criterias = allCriteria, filter = this.filter, userGenerated = true, reportSetupId = this.id - ) - } + ) + } // Deletable