simplify observeNoActiveCommand

This commit is contained in:
Andrei Vereha 2021-07-04 18:21:08 +02:00
parent 4755d749d1
commit e467e9f7b6
3 changed files with 12 additions and 7 deletions

View file

@ -1014,7 +1014,10 @@ class OmnipodDashPumpPlugin @Inject constructor(
return Completable.concat( return Completable.concat(
listOf( listOf(
pre, pre,
podStateManager.observeNoActiveCommand(checkNoActiveCommand).ignoreElements(), if (checkNoActiveCommand)
podStateManager.observeNoActiveCommand()
else
Completable.complete(),
historyEntry historyEntry
.flatMap { activeCommandEntry(it) } .flatMap { activeCommandEntry(it) }
.ignoreElement(), .ignoreElement(),

View file

@ -9,6 +9,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.DefaultStatusResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.DefaultStatusResponse
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse
import io.reactivex.Completable
import io.reactivex.Maybe import io.reactivex.Maybe
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.Single import io.reactivex.Single
@ -91,7 +92,7 @@ interface OmnipodDashPodStateManager {
requestedBolus: Double? = null requestedBolus: Double? = null
): Single<ActiveCommand> ): Single<ActiveCommand>
fun updateActiveCommand(): Maybe<CommandConfirmed> fun updateActiveCommand(): Maybe<CommandConfirmed>
fun observeNoActiveCommand(b: Boolean): Observable<PodEvent> fun observeNoActiveCommand(): Completable
fun getCommandConfirmationFromState(): CommandConfirmationFromState fun getCommandConfirmationFromState(): CommandConfirmationFromState
fun createLastBolus(requestedUnits: Double, historyId: String, bolusType: DetailedBolusInfo.BolusType) fun createLastBolus(requestedUnits: Double, historyId: String, bolusType: DetailedBolusInfo.BolusType)

View file

@ -18,6 +18,7 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.SetUniqueIdResponse
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse
import info.nightscout.androidaps.utils.sharedPreferences.SP import info.nightscout.androidaps.utils.sharedPreferences.SP
import io.reactivex.Completable
import io.reactivex.Maybe import io.reactivex.Maybe
import io.reactivex.Observable import io.reactivex.Observable
import io.reactivex.Single import io.reactivex.Single
@ -307,13 +308,13 @@ class OmnipodDashPodStateManagerImpl @Inject constructor(
} }
@Synchronized @Synchronized
override fun observeNoActiveCommand(check: Boolean): Observable<PodEvent> { override fun observeNoActiveCommand(): Completable {
return Observable.defer { return Completable.defer {
if (activeCommand == null || !check) { if (activeCommand == null) {
Observable.empty() Completable.complete()
} else { } else {
logger.warn(LTag.PUMP, "Active command already existing: $activeCommand") logger.warn(LTag.PUMP, "Active command already existing: $activeCommand")
Observable.error( Completable.error(
java.lang.IllegalStateException( java.lang.IllegalStateException(
"Trying to send a command " + "Trying to send a command " +
"and the last command was not confirmed" "and the last command was not confirmed"