Merge branch 'dash' into avereha/merge

This commit is contained in:
Andrei Vereha 2021-07-11 12:37:10 +02:00
commit 080e990e13
4 changed files with 15 additions and 9 deletions

View file

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

View file

@ -125,7 +125,7 @@ class OmnipodDashBleManagerImpl @Inject constructor(
for (i in 1..MAX_NUMBER_OF_CONNECTION_ATTEMPTS) {
try {
// wait i * CONNECTION_TIMEOUT
conn.connect(4)
conn.connect(CONNECT_TIMEOUT_MULTIPLIER)
break
} catch (e: Exception) {
aapsLogger.warn(LTag.PUMPBTCOMM, "connect error=$e")
@ -242,5 +242,6 @@ class OmnipodDashBleManagerImpl @Inject constructor(
companion object {
const val MAX_NUMBER_OF_CONNECTION_ATTEMPTS = 2
const val CONTROLLER_ID = 4242 // TODO read from preferences or somewhere else.
private const val CONNECT_TIMEOUT_MULTIPLIER = 4
}
}

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.SetUniqueIdResponse
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.response.VersionResponse
import io.reactivex.Completable
import io.reactivex.Maybe
import io.reactivex.Observable
import io.reactivex.Single
@ -91,7 +92,7 @@ interface OmnipodDashPodStateManager {
requestedBolus: Double? = null
): Single<ActiveCommand>
fun updateActiveCommand(): Maybe<CommandConfirmed>
fun observeNoActiveCommand(check: Boolean): Observable<PodEvent>
fun observeNoActiveCommand(): Completable
fun getCommandConfirmationFromState(): CommandConfirmationFromState
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.VersionResponse
import info.nightscout.androidaps.utils.sharedPreferences.SP
import io.reactivex.Completable
import io.reactivex.Maybe
import io.reactivex.Observable
import io.reactivex.Single
@ -307,13 +308,13 @@ class OmnipodDashPodStateManagerImpl @Inject constructor(
}
@Synchronized
override fun observeNoActiveCommand(check: Boolean): Observable<PodEvent> {
return Observable.defer {
if (activeCommand == null || !check) {
Observable.empty()
override fun observeNoActiveCommand(): Completable {
return Completable.defer {
if (activeCommand == null) {
Completable.complete()
} else {
logger.warn(LTag.PUMP, "Active command already existing: $activeCommand")
Observable.error(
Completable.error(
java.lang.IllegalStateException(
"Trying to send a command " +
"and the last command was not confirmed"
@ -468,7 +469,7 @@ class OmnipodDashPodStateManagerImpl @Inject constructor(
podState.lastStatusResponseReceived = SystemClock.elapsedRealtime()
updateLastBolusFromResponse(response.bolusPulsesRemaining)
if (podState.activationTime == null) {
podState.activationTime = System.currentTimeMillis() - (response.minutesSinceActivation * 60000)
podState.activationTime = System.currentTimeMillis() - (response.minutesSinceActivation * 60_000)
}
store()