format. remove duplication
This commit is contained in:
parent
11fa4d842c
commit
32183aff37
8 changed files with 71 additions and 105 deletions
|
@ -208,7 +208,6 @@ class OmnipodDashPumpPlugin @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun finishHandshaking() {
|
override fun finishHandshaking() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun connect(reason: String) {
|
override fun connect(reason: String) {
|
||||||
|
@ -400,10 +399,15 @@ class OmnipodDashPumpPlugin @Inject constructor(
|
||||||
.observeOn(aapsSchedulers.main)
|
.observeOn(aapsSchedulers.main)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
{
|
{
|
||||||
if (it.isChanged(resourceHelper,
|
if (it.isChanged(
|
||||||
R.string.key_omnipod_common_expiration_reminder_enabled) ||
|
resourceHelper,
|
||||||
it.isChanged(resourceHelper,
|
R.string.key_omnipod_common_expiration_reminder_enabled
|
||||||
R.string.key_omnipod_common_expiration_reminder_hours_before_shutdown)) {
|
) ||
|
||||||
|
it.isChanged(
|
||||||
|
resourceHelper,
|
||||||
|
R.string.key_omnipod_common_expiration_reminder_hours_before_shutdown
|
||||||
|
)
|
||||||
|
) {
|
||||||
commandQueue.customCommand(CommandUpdateAlertConfiguration(), null)
|
commandQueue.customCommand(CommandUpdateAlertConfiguration(), null)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1043,25 +1047,29 @@ class OmnipodDashPumpPlugin @Inject constructor(
|
||||||
val expirationReminderEnabled = sp.getBoolean(R.string.key_omnipod_common_expiration_reminder_enabled, true)
|
val expirationReminderEnabled = sp.getBoolean(R.string.key_omnipod_common_expiration_reminder_enabled, true)
|
||||||
val expirationHours = sp.getInt(R.string.key_omnipod_common_expiration_reminder_hours_before_shutdown, 7)
|
val expirationHours = sp.getInt(R.string.key_omnipod_common_expiration_reminder_hours_before_shutdown, 7)
|
||||||
val lowReservoirAlertEnabled = sp.getBoolean(R.string.key_omnipod_common_low_reservoir_alert_enabled, true)
|
val lowReservoirAlertEnabled = sp.getBoolean(R.string.key_omnipod_common_low_reservoir_alert_enabled, true)
|
||||||
val lowReservoirAlertUnits = sp.getInt(R.string.key_omnipod_common_low_reservoir_alert_units ,10)
|
val lowReservoirAlertUnits = sp.getInt(R.string.key_omnipod_common_low_reservoir_alert_units, 10)
|
||||||
|
|
||||||
if (!podStateManager.differentAlertSettings(
|
if (!podStateManager.differentAlertSettings(
|
||||||
expirationReminderEnabled,
|
expirationReminderEnabled,
|
||||||
expirationHours,
|
expirationHours,
|
||||||
lowReservoirAlertEnabled,
|
lowReservoirAlertEnabled,
|
||||||
lowReservoirAlertUnits
|
lowReservoirAlertUnits
|
||||||
)) {
|
)
|
||||||
|
) {
|
||||||
return PumpEnactResult(injector).success(true).enacted(false)
|
return PumpEnactResult(injector).success(true).enacted(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
val podLifeLeft = Duration.between(ZonedDateTime.now(), podStateManager.expiry)
|
val podLifeLeft = Duration.between(ZonedDateTime.now(), podStateManager.expiry)
|
||||||
val expiryAlertDelay = podLifeLeft.minus(Duration.ofHours(expirationHours.toLong()))
|
val expiryAlertDelay = podLifeLeft.minus(Duration.ofHours(expirationHours.toLong()))
|
||||||
if (expiryAlertDelay.isNegative) {
|
if (expiryAlertDelay.isNegative) {
|
||||||
aapsLogger.warn(LTag.PUMPBTCOMM, "updateAlertConfiguration negative " +
|
aapsLogger.warn(
|
||||||
"expiryAlertDuration=$expiryAlertDelay")
|
LTag.PUMPBTCOMM,
|
||||||
|
"updateAlertConfiguration negative " +
|
||||||
|
"expiryAlertDuration=$expiryAlertDelay"
|
||||||
|
)
|
||||||
PumpEnactResult(injector).success(false).enacted(false)
|
PumpEnactResult(injector).success(false).enacted(false)
|
||||||
}
|
}
|
||||||
val alerts = listOf (
|
val alerts = listOf(
|
||||||
AlertConfiguration(
|
AlertConfiguration(
|
||||||
AlertType.LOW_RESERVOIR,
|
AlertType.LOW_RESERVOIR,
|
||||||
enabled = lowReservoirAlertEnabled,
|
enabled = lowReservoirAlertEnabled,
|
||||||
|
@ -1088,7 +1096,8 @@ class OmnipodDashPumpPlugin @Inject constructor(
|
||||||
command = omnipodManager.programAlerts(alerts).ignoreElements(),
|
command = omnipodManager.programAlerts(alerts).ignoreElements(),
|
||||||
post = podStateManager.updateExpirationAlertSettings(
|
post = podStateManager.updateExpirationAlertSettings(
|
||||||
expirationReminderEnabled,
|
expirationReminderEnabled,
|
||||||
expirationHours).andThen(
|
expirationHours
|
||||||
|
).andThen(
|
||||||
podStateManager.updateExpirationAlertSettings(
|
podStateManager.updateExpirationAlertSettings(
|
||||||
lowReservoirAlertEnabled,
|
lowReservoirAlertEnabled,
|
||||||
lowReservoirAlertUnits
|
lowReservoirAlertUnits
|
||||||
|
|
|
@ -84,10 +84,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
|
|
||||||
override fun connect(stop: CountDownLatch): Observable<PodEvent> {
|
override fun connect(stop: CountDownLatch): Observable<PodEvent> {
|
||||||
return observeConnectToPodWithStop(stop)
|
return observeConnectToPodWithStop(stop)
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
.interceptPodEvents()
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeConnectToPodWithStop(stop: CountDownLatch): Observable<PodEvent> {
|
private fun observeConnectToPodWithStop(stop: CountDownLatch): Observable<PodEvent> {
|
||||||
|
@ -244,10 +241,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeActivationPart1Commands(lowReservoirAlertTrigger)
|
observeActivationPart1Commands(lowReservoirAlertTrigger)
|
||||||
).doOnComplete(ActivationProgressUpdater(ActivationProgress.PHASE_1_COMPLETED))
|
).doOnComplete(ActivationProgressUpdater(ActivationProgress.PHASE_1_COMPLETED))
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
.interceptPodEvents()
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeActivationPart1Commands(lowReservoirAlertTrigger: AlertTrigger.ReservoirVolumeTrigger?): Observable<PodEvent> {
|
private fun observeActivationPart1Commands(lowReservoirAlertTrigger: AlertTrigger.ReservoirVolumeTrigger?): Observable<PodEvent> {
|
||||||
|
@ -343,17 +337,14 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
return observables.reversed()
|
return observables.reversed()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun activatePodPart2(basalProgram: BasalProgram, userConfiguredExpirationHours:Long?):
|
override fun activatePodPart2(basalProgram: BasalProgram, userConfiguredExpirationHours: Long?):
|
||||||
Observable<PodEvent> {
|
Observable<PodEvent> {
|
||||||
return Observable.concat(
|
return Observable.concat(
|
||||||
observePodReadyForActivationPart2,
|
observePodReadyForActivationPart2,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeActivationPart2Commands(basalProgram, userConfiguredExpirationHours)
|
observeActivationPart2Commands(basalProgram, userConfiguredExpirationHours)
|
||||||
).doOnComplete(ActivationProgressUpdater(ActivationProgress.COMPLETED))
|
).doOnComplete(ActivationProgressUpdater(ActivationProgress.COMPLETED))
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
.interceptPodEvents()
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeActivationPart2Commands(basalProgram: BasalProgram, userConfiguredExpirationHours: Long?):
|
private fun observeActivationPart2Commands(basalProgram: BasalProgram, userConfiguredExpirationHours: Long?):
|
||||||
|
@ -367,8 +358,10 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createActivationPart2Observables(basalProgram: BasalProgram,
|
private fun createActivationPart2Observables(
|
||||||
userConfiguredExpirationHours: Long?):
|
basalProgram: BasalProgram,
|
||||||
|
userConfiguredExpirationHours: Long?
|
||||||
|
):
|
||||||
List<Observable<PodEvent>> {
|
List<Observable<PodEvent>> {
|
||||||
val observables = ArrayList<Observable<PodEvent>>()
|
val observables = ArrayList<Observable<PodEvent>>()
|
||||||
|
|
||||||
|
@ -397,7 +390,6 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
if (podStateManager.activationProgress.isBefore(ActivationProgress.UPDATED_EXPIRATION_ALERTS)) {
|
if (podStateManager.activationProgress.isBefore(ActivationProgress.UPDATED_EXPIRATION_ALERTS)) {
|
||||||
val podLifeLeft = Duration.between(ZonedDateTime.now(), podStateManager.expiry)
|
val podLifeLeft = Duration.between(ZonedDateTime.now(), podStateManager.expiry)
|
||||||
|
|
||||||
|
|
||||||
val alerts = mutableListOf(
|
val alerts = mutableListOf(
|
||||||
AlertConfiguration(
|
AlertConfiguration(
|
||||||
AlertType.EXPIRATION,
|
AlertType.EXPIRATION,
|
||||||
|
@ -423,27 +415,33 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
val userExpiryAlertDelay = podLifeLeft.minus(
|
val userExpiryAlertDelay = podLifeLeft.minus(
|
||||||
Duration.ofHours(userConfiguredExpirationHours ?: MAX_POD_LIFETIME.toHours() + 1))
|
Duration.ofHours(userConfiguredExpirationHours ?: MAX_POD_LIFETIME.toHours() + 1)
|
||||||
|
)
|
||||||
if (userExpiryAlertDelay.isNegative) {
|
if (userExpiryAlertDelay.isNegative) {
|
||||||
logger.warn(LTag.PUMPBTCOMM, "createActivationPart2Observables negative " +
|
logger.warn(
|
||||||
"expiryAlertDuration=$userExpiryAlertDelay")
|
LTag.PUMPBTCOMM,
|
||||||
|
"createActivationPart2Observables negative " +
|
||||||
|
"expiryAlertDuration=$userExpiryAlertDelay"
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
alerts.add( AlertConfiguration(
|
alerts.add(
|
||||||
AlertType.USER_SET_EXPIRATION,
|
AlertConfiguration(
|
||||||
enabled = true,
|
AlertType.USER_SET_EXPIRATION,
|
||||||
durationInMinutes = 0,
|
enabled = true,
|
||||||
autoOff = false,
|
durationInMinutes = 0,
|
||||||
AlertTrigger.TimerTrigger(
|
autoOff = false,
|
||||||
userExpiryAlertDelay.toMinutes().toShort()
|
AlertTrigger.TimerTrigger(
|
||||||
),
|
userExpiryAlertDelay.toMinutes().toShort()
|
||||||
BeepType.FOUR_TIMES_BIP_BEEP,
|
),
|
||||||
BeepRepetitionType.XXX2
|
BeepType.FOUR_TIMES_BIP_BEEP,
|
||||||
))
|
BeepRepetitionType.XXX2
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
observables.add(
|
observables.add(
|
||||||
observeSendProgramAlertsCommand(
|
observeSendProgramAlertsCommand(
|
||||||
alerts,
|
alerts,
|
||||||
multiCommandFlag = true
|
multiCommandFlag = true
|
||||||
).doOnComplete(ActivationProgressUpdater(ActivationProgress.UPDATED_EXPIRATION_ALERTS))
|
).doOnComplete(ActivationProgressUpdater(ActivationProgress.UPDATED_EXPIRATION_ALERTS))
|
||||||
)
|
)
|
||||||
|
@ -463,11 +461,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observeUniqueIdSet,
|
observeUniqueIdSet,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendGetPodStatusCommand(type)
|
observeSendGetPodStatusCommand(type)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setBasalProgram(basalProgram: BasalProgram, hasBasalBeepEnabled: Boolean): Observable<PodEvent> {
|
override fun setBasalProgram(basalProgram: BasalProgram, hasBasalBeepEnabled: Boolean): Observable<PodEvent> {
|
||||||
|
@ -475,11 +469,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendProgramBasalCommand(basalProgram, hasBasalBeepEnabled)
|
observeSendProgramBasalCommand(basalProgram, hasBasalBeepEnabled)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeSendStopDeliveryCommand(
|
private fun observeSendStopDeliveryCommand(
|
||||||
|
@ -510,11 +500,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendStopDeliveryCommand(StopDeliveryCommand.DeliveryType.ALL, hasBasalBeepEnabled)
|
observeSendStopDeliveryCommand(StopDeliveryCommand.DeliveryType.ALL, hasBasalBeepEnabled)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setTime(): Observable<PodEvent> {
|
override fun setTime(): Observable<PodEvent> {
|
||||||
|
@ -544,11 +530,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendProgramTempBasalCommand(rate, durationInMinutes, tempBasalBeeps)
|
observeSendProgramTempBasalCommand(rate, durationInMinutes, tempBasalBeeps)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun stopTempBasal(hasTempBasalBeepEnabled: Boolean): Observable<PodEvent> {
|
override fun stopTempBasal(hasTempBasalBeepEnabled: Boolean): Observable<PodEvent> {
|
||||||
|
@ -556,11 +538,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendStopDeliveryCommand(StopDeliveryCommand.DeliveryType.TEMP_BASAL, hasTempBasalBeepEnabled)
|
observeSendStopDeliveryCommand(StopDeliveryCommand.DeliveryType.TEMP_BASAL, hasTempBasalBeepEnabled)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun bolus(units: Double, confirmationBeeps: Boolean, completionBeeps: Boolean): Observable<PodEvent> {
|
override fun bolus(units: Double, confirmationBeeps: Boolean, completionBeeps: Boolean): Observable<PodEvent> {
|
||||||
|
@ -573,11 +551,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
confirmationBeeps,
|
confirmationBeeps,
|
||||||
completionBeeps
|
completionBeeps
|
||||||
)
|
)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun stopBolus(beep: Boolean): Observable<PodEvent> {
|
override fun stopBolus(beep: Boolean): Observable<PodEvent> {
|
||||||
|
@ -585,11 +559,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendStopDeliveryCommand(StopDeliveryCommand.DeliveryType.BOLUS, beep)
|
observeSendStopDeliveryCommand(StopDeliveryCommand.DeliveryType.BOLUS, beep)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeSendConfigureBeepsCommand(
|
private fun observeSendConfigureBeepsCommand(
|
||||||
|
@ -618,11 +588,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendConfigureBeepsCommand(immediateBeepType = beepType)
|
observeSendConfigureBeepsCommand(immediateBeepType = beepType)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun programAlerts(alertConfigurations: List<AlertConfiguration>): Observable<PodEvent> {
|
override fun programAlerts(alertConfigurations: List<AlertConfiguration>): Observable<PodEvent> {
|
||||||
|
@ -630,11 +596,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendProgramAlertsCommand(alertConfigurations)
|
observeSendProgramAlertsCommand(alertConfigurations)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeSendSilenceAlertsCommand(alertTypes: EnumSet<AlertType>): Observable<PodEvent> {
|
private fun observeSendSilenceAlertsCommand(alertTypes: EnumSet<AlertType>): Observable<PodEvent> {
|
||||||
|
@ -656,11 +618,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
observePodRunning,
|
observePodRunning,
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendSilenceAlertsCommand(alertTypes)
|
observeSendSilenceAlertsCommand(alertTypes)
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private val observeSendDeactivateCommand: Observable<PodEvent>
|
private val observeSendDeactivateCommand: Observable<PodEvent>
|
||||||
|
@ -679,11 +637,7 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
return Observable.concat(
|
return Observable.concat(
|
||||||
observeConnectToPod,
|
observeConnectToPod,
|
||||||
observeSendDeactivateCommand
|
observeSendDeactivateCommand
|
||||||
)
|
).interceptPodEvents()
|
||||||
// TODO these would be common for any observable returned in a public function in this class
|
|
||||||
.doOnNext(PodEventInterceptor())
|
|
||||||
.doOnError(ErrorInterceptor())
|
|
||||||
.subscribeOn(aapsSchedulers.io)
|
|
||||||
//
|
//
|
||||||
.doOnComplete(podStateManager::reset)
|
.doOnComplete(podStateManager::reset)
|
||||||
}
|
}
|
||||||
|
@ -760,6 +714,12 @@ class OmnipodDashManagerImpl @Inject constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun Observable<PodEvent>.interceptPodEvents(): Observable<PodEvent> {
|
||||||
|
return this.doOnNext(PodEventInterceptor())
|
||||||
|
.doOnError(ErrorInterceptor())
|
||||||
|
.subscribeOn(aapsSchedulers.io)
|
||||||
|
}
|
||||||
|
|
||||||
inner class ErrorInterceptor : Consumer<Throwable> {
|
inner class ErrorInterceptor : Consumer<Throwable> {
|
||||||
|
|
||||||
override fun accept(throwable: Throwable) {
|
override fun accept(throwable: Throwable) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ class ServiceDiscoverer(
|
||||||
}
|
}
|
||||||
connectionWaitCond.stopConnection?.let {
|
connectionWaitCond.stopConnection?.let {
|
||||||
while (!bleCallbacks.waitForServiceDiscovery(STOP_CONNECTING_CHECK_INTERVAL_MS)) {
|
while (!bleCallbacks.waitForServiceDiscovery(STOP_CONNECTING_CHECK_INTERVAL_MS)) {
|
||||||
if (it.count == 0L || connection.connectionState() !is Connected) {
|
if (it.count == 0L || connection.connectionState() !is Connected) {
|
||||||
throw ConnectException("stopConnecting called")
|
throw ConnectException("stopConnecting called")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,7 @@ package info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.io
|
||||||
|
|
||||||
import android.bluetooth.BluetoothGatt
|
import android.bluetooth.BluetoothGatt
|
||||||
import android.bluetooth.BluetoothGattCharacteristic
|
import android.bluetooth.BluetoothGattCharacteristic
|
||||||
import info.nightscout.androidaps.extensions.toHex
|
|
||||||
import info.nightscout.androidaps.logging.AAPSLogger
|
import info.nightscout.androidaps.logging.AAPSLogger
|
||||||
import info.nightscout.androidaps.logging.LTag
|
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.OmnipodDashBleManagerImpl
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.OmnipodDashBleManagerImpl
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.BleCommCallbacks
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.callbacks.BleCommCallbacks
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommand
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.comm.command.BleCommand
|
||||||
|
|
|
@ -102,7 +102,7 @@ interface OmnipodDashPodStateManager {
|
||||||
*/
|
*/
|
||||||
fun recoverActivationFromPodStatus(): String?
|
fun recoverActivationFromPodStatus(): String?
|
||||||
fun differentAlertSettings(expirationReminderEnabled: Boolean, expirationHours: Int, lowReservoirAlertEnabled: Boolean, lowReservoirAlertUnits: Int): Boolean
|
fun differentAlertSettings(expirationReminderEnabled: Boolean, expirationHours: Int, lowReservoirAlertEnabled: Boolean, lowReservoirAlertUnits: Int): Boolean
|
||||||
fun updateExpirationAlertSettings(expirationReminderEnabled: Boolean, expirationHours: Int) : Completable
|
fun updateExpirationAlertSettings(expirationReminderEnabled: Boolean, expirationHours: Int): Completable
|
||||||
fun updateLowReservoirAlertSettings(lowReservoirAlertEnabled: Boolean, lowReservoirAlertUnits: Int): Completable
|
fun updateLowReservoirAlertSettings(lowReservoirAlertEnabled: Boolean, lowReservoirAlertUnits: Int): Completable
|
||||||
|
|
||||||
data class ActiveCommand(
|
data class ActiveCommand(
|
||||||
|
|
|
@ -409,8 +409,8 @@ class OmnipodDashPodStateManagerImpl @Inject constructor(
|
||||||
podState.lowReservoirAlertUnits == lowReservoirAlertUnits
|
podState.lowReservoirAlertUnits == lowReservoirAlertUnits
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun updateExpirationAlertSettings(expirationReminderEnabled: Boolean, expirationHours: Int) :
|
override fun updateExpirationAlertSettings(expirationReminderEnabled: Boolean, expirationHours: Int):
|
||||||
Completable = Completable.defer{
|
Completable = Completable.defer {
|
||||||
podState.expirationReminderEnabled = expirationReminderEnabled
|
podState.expirationReminderEnabled = expirationReminderEnabled
|
||||||
podState.expirationHours = expirationHours
|
podState.expirationHours = expirationHours
|
||||||
Completable.complete()
|
Completable.complete()
|
||||||
|
|
|
@ -32,7 +32,7 @@ class DashInitializePodViewModel @Inject constructor(
|
||||||
Single.create { source ->
|
Single.create { source ->
|
||||||
// TODO use configured value for low reservoir trigger
|
// TODO use configured value for low reservoir trigger
|
||||||
val lowReservoirAlertEnabled = sp.getBoolean(R.string.key_omnipod_common_low_reservoir_alert_enabled, true)
|
val lowReservoirAlertEnabled = sp.getBoolean(R.string.key_omnipod_common_low_reservoir_alert_enabled, true)
|
||||||
val lowReservoirAlertUnits = sp.getInt(R.string.key_omnipod_common_low_reservoir_alert_units ,10)
|
val lowReservoirAlertUnits = sp.getInt(R.string.key_omnipod_common_low_reservoir_alert_units, 10)
|
||||||
val lowReservoirAlertTrigger = if (lowReservoirAlertEnabled) {
|
val lowReservoirAlertTrigger = if (lowReservoirAlertEnabled) {
|
||||||
AlertTrigger.ReservoirVolumeTrigger((lowReservoirAlertUnits * 10).toShort())
|
AlertTrigger.ReservoirVolumeTrigger((lowReservoirAlertUnits * 10).toShort())
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -15,7 +15,6 @@ import info.nightscout.androidaps.plugins.pump.common.defs.PumpType
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel
|
import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.action.InsertCannulaViewModel
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.R
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.R
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.OmnipodDashManager
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.OmnipodDashManager
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.definition.AlertTrigger
|
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.driver.pod.state.OmnipodDashPodStateManager
|
||||||
import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram
|
import info.nightscout.androidaps.plugins.pump.omnipod.dash.util.mapProfileToBasalProgram
|
||||||
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
import info.nightscout.androidaps.utils.sharedPreferences.SP
|
||||||
|
|
Loading…
Reference in a new issue