From 12a71b8d3e20cf7f008d695c86d525bf9a992685 Mon Sep 17 00:00:00 2001 From: Bart Sopers Date: Fri, 27 Dec 2019 10:10:48 -0500 Subject: [PATCH] Prevent TBR from being cancelled twice when setting a new TBR --- .../plugins/pump/omnipod/comm/OmnipodManager.java | 13 ------------- .../omnipod/driver/comm/AapsOmnipodManager.java | 4 ---- app/src/main/res/values/strings.xml | 1 - 3 files changed, 18 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/comm/OmnipodManager.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/comm/OmnipodManager.java index 684e8f234f..a8973a2791 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/comm/OmnipodManager.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/comm/OmnipodManager.java @@ -200,28 +200,15 @@ public class OmnipodManager { } } - // CAUTION: cancels temp basal and then sets new temp basal. An OmnipodException[certainFailure=false] indicates that the pod might have cancelled the previous temp basal, but did not set a new temp basal public synchronized void setTemporaryBasal(TempBasalPair tempBasalPair, boolean acknowledgementBeep, boolean completionBeep) { assertReadyForDelivery(); logStartingCommandExecution("setTemporaryBasal [tempBasalPair=" + tempBasalPair + ", acknowledgementBeep=" + acknowledgementBeep + ", completionBeep=" + completionBeep + "]"); - try { - cancelDelivery(EnumSet.of(DeliveryType.TEMP_BASAL), acknowledgementBeep); - } catch (Exception ex) { - logCommandExecutionFinished("setTemporaryBasal"); - throw ex; - } - try { executeAndVerify(() -> communicationService.executeAction(new SetTempBasalAction( podState, tempBasalPair.getInsulinRate(), Duration.standardMinutes(tempBasalPair.getDurationMinutes()), acknowledgementBeep, completionBeep))); - } catch (OmnipodException ex) { - // Treat all exceptions as uncertain failures, because all delivery has been suspended here. - // Setting this to an uncertain failure will enable for the user to get an appropriate warning - ex.setCertainFailure(false); - throw ex; } finally { logCommandExecutionFinished("setTemporaryBasal"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java index dc9d16cf6c..ba5b2bd842 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/driver/comm/AapsOmnipodManager.java @@ -335,10 +335,6 @@ public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface delegate.setTemporaryBasal(tempBasalPair, beepsEnabled, beepsEnabled); addSuccessToHistory(time, PodHistoryEntryType.SetTemporaryBasal, tempBasalPair); } catch (Exception ex) { - if ((ex instanceof OmnipodException) && !((OmnipodException) ex).isCertainFailure()) { - addToHistory(time, PodHistoryEntryType.SetTemporaryBasal, "Uncertain failure", false); - return new PumpEnactResult().success(false).enacted(false).comment(getStringResource(R.string.omnipod_error_set_temp_basal_failed_uncertain)); - } String comment = handleAndTranslateException(ex); addFailureToHistory(time, PodHistoryEntryType.SetTemporaryBasal, comment); return new PumpEnactResult().success(false).enacted(false).comment(comment); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 92fc9785dc..4cf6716ace 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1761,7 +1761,6 @@ Low reservoir Unknown alert Setting basal profile might have failed. Delivery might be suspended! Please refresh pod status. - Setting temp basal might have failed. If there was a temp basal already running, that may have been cancelled! Please refresh pod status. Setting time might have failed. Delivery might be suspended! Please refresh pod status. Unable to verify whether the bolus succeeded. Please verify that your pod is bolusing or cancel the bolus.