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
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
}
}
}
/**

@ -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<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>()
allCriteria.addAll(criteria)
allCriteria.addAll(cfCriteria)
val allCriteria = mutableListOf<Criteria>()
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

Loading…
Cancel
Save