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 928157f06b..d5ac74c01d 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 @@ -128,11 +128,8 @@ public class AapsOmnipodManager implements OmnipodCommunicationManagerInterface podStateManager.setStateChangedHandler(manager -> { // Handle pod state changes - // FIXME only set once (?) (before instantiating AapsOmnipodManager) - // Maybe not, it seems to not only set something, but also fire an event - omnipodUtil.setPodStateManager(manager); - updatePumpStatus(manager); + omnipodUtil.notifyDeviceStatusChanged(); }); delegate = new OmnipodManager(aapsLogger, sp, communicationService, podStateManager); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java index a84996dc53..b38f7f40fb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/service/RileyLinkOmnipodService.java @@ -122,8 +122,8 @@ public class RileyLinkOmnipodService extends RileyLinkService { omnipodUIComm = new OmnipodUIComm(injector, aapsLogger, omnipodUtil, omnipodUIPostprocessor, aapsOmnipodManager); } else { - aapsOmnipodManager = instance; omnipodUtil.setPodStateManager(instance.getPodStateManager()); + aapsOmnipodManager = instance; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodConst.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodConst.java index d12fbd31df..f7b78250c3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodConst.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodConst.java @@ -14,7 +14,6 @@ public class OmnipodConst { public class Prefs { public static final String PodState = Prefix + "pod_state"; - public static final String NextPodAddress = Prefix + "next_pod_address"; public static final int BeepBasalEnabled = R.string.key_omnipod_beep_basal_enabled; public static final int BeepBolusEnabled = R.string.key_omnipod_beep_bolus_enabled; public static final int BeepSMBEnabled = R.string.key_omnipod_beep_smb_enabled; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodUtil.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodUtil.java index c008cee6e9..22e562bbc4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodUtil.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/util/OmnipodUtil.java @@ -138,10 +138,16 @@ public class OmnipodUtil { return gsonBuilder.create(); } - public void setPodStateManager(PodStateManager podStateManager) { + if (podStateManager == null) { + throw new IllegalArgumentException("Pod state manager can not be null"); + } omnipodPumpStatus.podStateManager = podStateManager; - rxBus.send(new EventOmnipodDeviceStatusChange(podStateManager)); + notifyDeviceStatusChanged(); + } + + public void notifyDeviceStatusChanged() { + rxBus.send(new EventOmnipodDeviceStatusChange(omnipodPumpStatus.podStateManager)); } @@ -166,6 +172,9 @@ public class OmnipodUtil { public PodStateManager getPodStateManager() { + if (omnipodPumpStatus.podStateManager == null) { + throw new IllegalStateException("Pod state manager is null"); + } return omnipodPumpStatus.podStateManager; }