ignore enforeNew for now

This commit is contained in:
Andrei Vereha 2021-06-05 20:14:28 +02:00
parent 3dc4781692
commit b440003de4
2 changed files with 21 additions and 26 deletions

View file

@ -272,7 +272,7 @@ class OmnipodDashPumpPlugin @Inject constructor(
.filter { podEvent -> podEvent is PodEvent.CommandSent }
.map { pumpSyncTempBasal(it, tbrType) }
.ignoreElements(),
pre = observeNoActiveTempBasal(enforceNew)
pre = observeNoActiveTempBasal()
).toPumpEnactResult()
}
@ -307,28 +307,19 @@ class OmnipodDashPumpPlugin @Inject constructor(
return ret
}
private fun observeNoActiveTempBasal(enforceNew: Boolean): Completable {
private fun observeNoActiveTempBasal(): Completable {
return Completable.defer {
val expectedState = pumpSync.expectedPumpState()
when {
expectedState.temporaryBasal == null -> {
aapsLogger.info(LTag.PUMP, "No temporary basal to cancel")
Completable.complete()
}
!enforceNew ->
Completable.error(
IllegalStateException(
"Temporary basal already active and enforeNew is not set."
)
)
else -> {
// enforceNew == true
aapsLogger.info(LTag.PUMP, "Canceling existing temp basal")
executeSimpleProgrammingCommand(
history.createRecord(OmnipodCommandType.CANCEL_TEMPORARY_BASAL),
omnipodManager.stopTempBasal().ignoreElements()
)
}
if (expectedState.temporaryBasal == null) {
aapsLogger.info(LTag.PUMP, "No temporary basal to cancel")
Completable.complete()
} else {
// enforceNew == true
aapsLogger.info(LTag.PUMP, "Canceling existing temp basal")
executeSimpleProgrammingCommand(
history.createRecord(OmnipodCommandType.CANCEL_TEMPORARY_BASAL),
omnipodManager.stopTempBasal().ignoreElements()
)
}
}
}

View file

@ -240,11 +240,15 @@ class OmnipodDashPodStateManagerImpl @Inject constructor(
if (sentRealtime < createdRealtime) { // command was not sent, clear it up
podState.activeCommand = null
source.onError(this.sendError
?: java.lang.IllegalStateException("Could not send command and sendError is " +
"missing") )
} else if (createdRealtime >= lastStatusResponseReceived)
// we did not receive a valid response yet
source.onError(
this.sendError
?: java.lang.IllegalStateException(
"Could not send command and sendError is " +
"missing"
)
)
} else if (createdRealtime >= lastStatusResponseReceived)
// we did not receive a valid response yet
source.onComplete()
else {
podState.activeCommand = null