- fixed refresh of config data (I hope)
- if podmanagement changes some pod status
This commit is contained in:
parent
9b5535edf0
commit
bdb3bc0b8e
|
@ -28,6 +28,7 @@ import info.nightscout.androidaps.data.Profile;
|
|||
import info.nightscout.androidaps.data.PumpEnactResult;
|
||||
import info.nightscout.androidaps.db.Source;
|
||||
import info.nightscout.androidaps.db.TemporaryBasal;
|
||||
import info.nightscout.androidaps.events.EventPreferenceChange;
|
||||
import info.nightscout.androidaps.events.EventRefreshOverview;
|
||||
import info.nightscout.androidaps.interfaces.PluginDescription;
|
||||
import info.nightscout.androidaps.interfaces.PluginType;
|
||||
|
@ -36,6 +37,7 @@ import info.nightscout.androidaps.plugins.bus.RxBus;
|
|||
import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin;
|
||||
import info.nightscout.androidaps.plugins.general.actions.defs.CustomAction;
|
||||
import info.nightscout.androidaps.plugins.general.actions.defs.CustomActionType;
|
||||
import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress;
|
||||
import info.nightscout.androidaps.plugins.pump.common.PumpPluginAbstract;
|
||||
import info.nightscout.androidaps.plugins.pump.common.data.TempBasalPair;
|
||||
import info.nightscout.androidaps.plugins.pump.common.defs.PumpDriverState;
|
||||
|
@ -62,8 +64,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.util.LogReceiver;
|
|||
import info.nightscout.androidaps.plugins.pump.omnipod.util.OmnipodConst;
|
||||
import info.nightscout.androidaps.plugins.pump.omnipod.util.OmnipodUtil;
|
||||
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin;
|
||||
import info.nightscout.androidaps.utils.FabricPrivacy;
|
||||
import info.nightscout.androidaps.utils.OKDialog;
|
||||
import info.nightscout.androidaps.utils.SP;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
/**
|
||||
* Created by andy on 23.04.18.
|
||||
|
@ -78,6 +83,7 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
|
|||
private RileyLinkOmnipodService omnipodService;
|
||||
protected OmnipodPumpStatus pumpStatusLocal = null;
|
||||
protected OmnipodUIComm omnipodUIComm;
|
||||
private CompositeDisposable disposable = new CompositeDisposable();
|
||||
|
||||
// variables for handling statuses and history
|
||||
protected boolean firstRun = true;
|
||||
|
@ -166,6 +172,34 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
disposable.add(RxBus.INSTANCE
|
||||
.toObservable(EventPreferenceChange.class)
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(event -> {
|
||||
if ((event.isChanged(R.string.key_omnipod_beep_basal_enabled)) ||
|
||||
(event.isChanged(R.string.key_omnipod_beep_bolus_enabled)) ||
|
||||
(event.isChanged(R.string.key_omnipod_beep_smb_enabled)))
|
||||
refreshConfiguration();
|
||||
}, FabricPrivacy::logException)
|
||||
);
|
||||
refreshConfiguration();
|
||||
}
|
||||
|
||||
private void refreshConfiguration() {
|
||||
if (pumpStatusLocal!=null) {
|
||||
pumpStatusLocal.refreshConfiguration();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
disposable.clear();
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
private String getLogPrefix() {
|
||||
return "OmnipodPlugin::";
|
||||
}
|
||||
|
@ -417,7 +451,7 @@ public class OmnipodPumpPlugin extends PumpPluginAbstract implements OmnipodPump
|
|||
}
|
||||
|
||||
triggerUIChange();
|
||||
RxBus.INSTANCE.send(new EventOmnipodPumpValuesChanged());
|
||||
RxBus.INSTANCE.send(new EventRefreshOverview("Omnipod Pump"));
|
||||
|
||||
getPodPumpStatus();
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.atech.android.library.wizardpager.defs.WizardStepsWayType
|
|||
import info.nightscout.androidaps.MainApp
|
||||
import info.nightscout.androidaps.R
|
||||
import info.nightscout.androidaps.activities.NoSplashActivity
|
||||
import info.nightscout.androidaps.events.EventRefreshOverview
|
||||
import info.nightscout.androidaps.plugins.bus.RxBus
|
||||
import info.nightscout.androidaps.plugins.pump.omnipod.driver.comm.AapsOmnipodManager
|
||||
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.initpod.InitPodCancelAction
|
||||
|
@ -25,6 +26,8 @@ import kotlinx.android.synthetic.main.omnipod_pod_mgmt.*
|
|||
*/
|
||||
class PodManagementActivity : NoSplashActivity() {
|
||||
|
||||
private var podSessionActiveOnStart:Boolean? = null
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.omnipod_pod_mgmt)
|
||||
|
@ -53,7 +56,10 @@ class PodManagementActivity : NoSplashActivity() {
|
|||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
|
||||
RxBus.send(EventOmnipodPumpValuesChanged())
|
||||
if (podSessionActiveOnStart!=(OmnipodUtil.getPodSessionState()!=null)) {
|
||||
RxBus.send(EventOmnipodPumpValuesChanged())
|
||||
RxBus.send(EventRefreshOverview())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -121,6 +127,10 @@ class PodManagementActivity : NoSplashActivity() {
|
|||
|
||||
val isPodSessionActive = (OmnipodUtil.getPodSessionState()!=null)
|
||||
|
||||
if (podSessionActiveOnStart==null) {
|
||||
podSessionActiveOnStart = isPodSessionActive
|
||||
}
|
||||
|
||||
initpod_init_pod.isEnabled = !isPodSessionActive
|
||||
initpod_remove_pod.isEnabled = isPodSessionActive
|
||||
initpod_reset_pod.isEnabled = isPodSessionActive
|
||||
|
|
|
@ -105,6 +105,8 @@ public class OmnipodPumpStatus extends PumpStatus {
|
|||
this.beepBolusEnabled = SP.getBoolean(OmnipodConst.Prefs.BeepBolusEnabled, true);
|
||||
this.beepSMBEnabled = SP.getBoolean(OmnipodConst.Prefs.BeepSMBEnabled, true);
|
||||
|
||||
LOG.debug("Beeps [basal={}, bolus={}, SMB={}]", this.beepBasalEnabled, this.beepBolusEnabled, this.beepSMBEnabled);
|
||||
|
||||
reconfigureService();
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue