comboctl-main: Fix missing entry #1 in TDD history
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
This commit is contained in:
parent
9aff10537e
commit
01560f45be
1 changed files with 29 additions and 18 deletions
|
@ -1661,22 +1661,15 @@ class Pump(
|
||||||
val currentSystemTimeZone = TimeZone.currentSystemDefault()
|
val currentSystemTimeZone = TimeZone.currentSystemDefault()
|
||||||
val currentLocalDate = currentSystemDateTime.toLocalDateTime(currentSystemTimeZone).date
|
val currentLocalDate = currentSystemDateTime.toLocalDateTime(currentSystemTimeZone).date
|
||||||
|
|
||||||
navigateToRTScreen(rtNavigationContext, ParsedScreen.MyDataDailyTotalsScreen::class, pumpSuspended)
|
fun processTDDScreen(dailyTotalsScreen: ParsedScreen.MyDataDailyTotalsScreen) {
|
||||||
|
|
||||||
longPressRTButtonUntil(rtNavigationContext, RTNavigationButton.DOWN) { parsedScreen ->
|
|
||||||
if (parsedScreen !is ParsedScreen.MyDataDailyTotalsScreen) {
|
|
||||||
logger(LogLevel.DEBUG) { "Got a non-TDD screen ($parsedScreen) ; stopping TDD history scan" }
|
|
||||||
return@longPressRTButtonUntil LongPressRTButtonsCommand.ReleaseButton
|
|
||||||
}
|
|
||||||
|
|
||||||
val historyEntry = TDDHistoryEntry(
|
val historyEntry = TDDHistoryEntry(
|
||||||
// Fix the date since the Combo does not show years in TDD screens.
|
// Fix the date since the Combo does not show years in TDD screens.
|
||||||
date = parsedScreen.date.withFixedYearFrom(currentLocalDate).atStartOfDayIn(currentPumpUtcOffset!!.asTimeZone()),
|
date = dailyTotalsScreen.date.withFixedYearFrom(currentLocalDate).atStartOfDayIn(currentPumpUtcOffset!!.asTimeZone()),
|
||||||
totalDailyAmount = parsedScreen.totalDailyAmount
|
totalDailyAmount = dailyTotalsScreen.totalDailyAmount
|
||||||
)
|
)
|
||||||
|
|
||||||
logger(LogLevel.DEBUG) {
|
logger(LogLevel.DEBUG) {
|
||||||
"Got TDD history entry ${parsedScreen.index} / ${parsedScreen.totalNumEntries} ; " +
|
"Got TDD history entry ${dailyTotalsScreen.index} / ${dailyTotalsScreen.totalNumEntries} ; " +
|
||||||
"date = ${historyEntry.date} ; " +
|
"date = ${historyEntry.date} ; " +
|
||||||
"TDD = ${historyEntry.totalDailyAmount.toStringWithDecimal(3)}"
|
"TDD = ${historyEntry.totalDailyAmount.toStringWithDecimal(3)}"
|
||||||
}
|
}
|
||||||
|
@ -1684,8 +1677,26 @@ class Pump(
|
||||||
tddHistoryEntries.add(historyEntry)
|
tddHistoryEntries.add(historyEntry)
|
||||||
|
|
||||||
tddHistoryProgressReporter.setCurrentProgressStage(
|
tddHistoryProgressReporter.setCurrentProgressStage(
|
||||||
RTCommandProgressStage.FetchingTDDHistory(parsedScreen.index, parsedScreen.totalNumEntries)
|
RTCommandProgressStage.FetchingTDDHistory(dailyTotalsScreen.index, dailyTotalsScreen.totalNumEntries)
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Navigate to the TDD screens and process the very first shown TDD screen. We
|
||||||
|
// process the first screeen separately since the longPressRTButtonUntil() function
|
||||||
|
// uses the supplied block as a predicate to check if it should _continue_ pressing
|
||||||
|
// the button, meaning that it will always press the button at least initially,
|
||||||
|
// moving to entry #2 in the TDD history. Thus, if we don't look at the screen now,
|
||||||
|
// we miss entry #1, which is the current day.
|
||||||
|
val firstTDDScreen = navigateToRTScreen(rtNavigationContext, ParsedScreen.MyDataDailyTotalsScreen::class, pumpSuspended) as ParsedScreen.MyDataDailyTotalsScreen
|
||||||
|
processTDDScreen(firstTDDScreen)
|
||||||
|
|
||||||
|
longPressRTButtonUntil(rtNavigationContext, RTNavigationButton.DOWN) { parsedScreen ->
|
||||||
|
if (parsedScreen !is ParsedScreen.MyDataDailyTotalsScreen) {
|
||||||
|
logger(LogLevel.DEBUG) { "Got a non-TDD screen ($parsedScreen) ; stopping TDD history scan" }
|
||||||
|
return@longPressRTButtonUntil LongPressRTButtonsCommand.ReleaseButton
|
||||||
|
}
|
||||||
|
|
||||||
|
processTDDScreen(parsedScreen)
|
||||||
|
|
||||||
return@longPressRTButtonUntil if (parsedScreen.index >= parsedScreen.totalNumEntries)
|
return@longPressRTButtonUntil if (parsedScreen.index >= parsedScreen.totalNumEntries)
|
||||||
LongPressRTButtonsCommand.ReleaseButton
|
LongPressRTButtonsCommand.ReleaseButton
|
||||||
|
|
Loading…
Reference in a new issue