Fixes issue where custom comparison did not show multi lines view

split
Laurent 5 years ago
parent c460acd631
commit 1d4f5d367f
  1. 10
      app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt
  2. 23
      app/src/main/java/net/pokeranalytics/android/model/realm/ReportSetup.kt

@ -59,7 +59,7 @@ class Calculator {
*/ */
var progressValues: ProgressValues = progressValues var progressValues: ProgressValues = progressValues
get() { get() {
if (field == ProgressValues.NONE && this.display == Display.PROGRESS) { if (field == ProgressValues.NONE && this.display.requireProgressValues) {
return ProgressValues.STANDARD return ProgressValues.STANDARD
} }
return field return field
@ -99,6 +99,14 @@ class Calculator {
else -> throw PAIllegalStateException("undefined activity for report display") else -> throw PAIllegalStateException("undefined activity for report display")
} }
} }
val requireProgressValues: Boolean
get() {
return when (this) {
PROGRESS, COMPARISON -> true
else -> false
}
}
} }
/** /**

@ -66,28 +66,29 @@ open class ReportSetup : RealmObject(), RowRepresentable, Deletable {
*/ */
fun options(realm: Realm): Calculator.Options { fun options(realm: Realm): Calculator.Options {
val stats = this.statIds.map { Stat.valueByIdentifier(it) } val stats = this.statIds.map { Stat.valueByIdentifier(it) }
// Comparison criteria // Comparison criteria
val criteria = this.criteriaIds.map { Criteria.valueByIdentifier(it) } val criteria = this.criteriaIds.map { Criteria.valueByIdentifier(it) }
val customFields = this.criteriaCustomFieldIds.mapNotNull { realm.findById<CustomField>(it) } val customFields = this.criteriaCustomFieldIds.mapNotNull { realm.findById<CustomField>(it) }
val cfCriteria = customFields.map { it.criteria } val cfCriteria = customFields.map { it.criteria }
val allCriteria = mutableListOf<Criteria>() val allCriteria = mutableListOf<Criteria>()
allCriteria.addAll(criteria) allCriteria.addAll(criteria)
allCriteria.addAll(cfCriteria) allCriteria.addAll(cfCriteria)
return Calculator.Options(
return Calculator.Options(
display = Calculator.Options.Display.values()[this.display], display = Calculator.Options.Display.values()[this.display],
stats = stats, stats = stats,
criterias = allCriteria, criterias = allCriteria,
filter = this.filter, filter = this.filter,
userGenerated = true, userGenerated = true,
reportSetupId = this.id reportSetupId = this.id
) )
} }
// Deletable // Deletable

Loading…
Cancel
Save