Paul Woitaschek
03/19/2019, 8:42 AMgildor
03/19/2019, 8:59 AMAnalysisType.ARM -> BodyValueType.ARM_CIRCUMFERENCE
?Paul Woitaschek
03/19/2019, 9:16 AMgildor
03/19/2019, 9:18 AMBMG
03/19/2019, 9:27 AMBodyValueType
in AnalysisType
itself?getBodyValueType
and let it return null
for base class and have interested entities override it and return proper BodyValueType
?Paul Woitaschek
03/19/2019, 9:43 AMgildor
03/19/2019, 9:49 AMPaul Woitaschek
03/19/2019, 9:50 AMgildor
03/19/2019, 9:51 AMfun BodyValueType.toBodyResult() {
val key = BodyValueSummaryGroupKey(range.start, range.endInclusive, this)
val bodyValueSummary = bodyValueSummaryProvider.get(key).awaitFirst()
val history = History(getAnalysisSummary.circumference(bodyValueSummary, mode))
Result(ChartData2, mode, history, Summary)
}
AnalysisType.ARM -> BodyValueType.ARM_CIRCUMFERENCE.toBodyResult()
BMG
03/19/2019, 10:12 AMwhen
clauses and using methods on AnalysisType
(or more appropriate class) to build Result
objects. So, this will essentially look like,
suspend fun get(mode: AnalysisMode, type: AnalysisType): Result {
return type.buildResult()
}
gildor
03/19/2019, 10:13 AMPaul Woitaschek
03/19/2019, 10:18 AMtype.buildResult()
I only move the problem because then I'll just have a when(this)
switch 😕gildor
03/19/2019, 10:19 AMBMG
03/19/2019, 10:19 AMBodyValueType
are 1-1 to AnalysisType
right? So, buildResult
in AnalysisType.ARM
can use BodyValueType.ARM_CIRCUMFERENCE
to construct the result object without when
?Paul Woitaschek
03/19/2019, 10:23 AMgildor
03/19/2019, 10:25 AMmode
paramPaul Woitaschek
03/19/2019, 10:27 AMgildor
03/19/2019, 10:29 AMPaul Woitaschek
03/19/2019, 10:30 AMgildor
03/19/2019, 12:02 PM