- fix for #66 Init and Remove Pod buttons enabled when RL is not running/connected yet

- more implementation on #15 (not done yet)
This commit is contained in:
Andy Rozman 2020-02-15 10:22:20 +00:00
parent e7e8cac81b
commit 6408961f5d
3 changed files with 28 additions and 3 deletions

View file

@ -12,10 +12,12 @@ 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.defs.SetupProgress
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.defs.PodActionType
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.model.FullInitPodWizardModel
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.model.RemovePodWizardModel
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.model.ShortInitPodWizardModel
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.pages.InitPodRefreshAction
import info.nightscout.androidaps.plugins.pump.omnipod.driver.OmnipodDriverState
import info.nightscout.androidaps.plugins.pump.omnipod.driver.comm.AapsOmnipodManager
import info.nightscout.androidaps.plugins.pump.omnipod.events.EventOmnipodPumpValuesChanged
import info.nightscout.androidaps.plugins.pump.omnipod.util.OmnipodUtil
@ -71,7 +73,7 @@ class PodManagementActivity : NoSplashActivity() {
fun initPodAction() {
val pagerSettings = WizardPagerSettings()
var refreshAction = InitPodRefreshAction(this)
var refreshAction = InitPodRefreshAction(this, PodActionType.InitPod)
pagerSettings.setWizardStepsWayType(WizardStepsWayType.CancelNext)
pagerSettings.setFinishStringResourceId(R.string.close)
@ -99,7 +101,7 @@ class PodManagementActivity : NoSplashActivity() {
fun removePodAction() {
val pagerSettings = WizardPagerSettings()
var refreshAction = InitPodRefreshAction(this)
var refreshAction = InitPodRefreshAction(this, PodActionType.RemovePod)
pagerSettings.setWizardStepsWayType(WizardStepsWayType.CancelNext)
pagerSettings.setFinishStringResourceId(R.string.close)
@ -124,6 +126,7 @@ class PodManagementActivity : NoSplashActivity() {
OKDialog.showConfirmation(this,
MainApp.gs(R.string.omnipod_cmd_reset_pod_desc), Thread {
AapsOmnipodManager.getInstance().resetPodStatus()
OmnipodUtil.setDriverState(OmnipodDriverState.Initalized_NoPod)
refreshButtons()
})
}
@ -144,6 +147,13 @@ class PodManagementActivity : NoSplashActivity() {
initpod_remove_pod.isEnabled = isPodSessionActive
initpod_reset_pod.isEnabled = isPodSessionActive
if (OmnipodUtil.getDriverState()==OmnipodDriverState.NotInitalized) {
// if rileylink is not running we disable all operations
initpod_init_pod.isEnabled = false
initpod_remove_pod.isEnabled = false
initpod_reset_pod.isEnabled = false
}
}
}

View file

@ -0,0 +1,7 @@
package info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.defs;
public enum PodActionType {
InitPod,
RemovePod,
ResetPod
}

View file

@ -4,6 +4,9 @@ import com.atech.android.library.wizardpager.defs.action.AbstractCancelAction;
import com.atech.android.library.wizardpager.defs.action.FinishActionInterface;
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.PodManagementActivity;
import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.wizard.defs.PodActionType;
import info.nightscout.androidaps.plugins.pump.omnipod.driver.OmnipodDriverState;
import info.nightscout.androidaps.plugins.pump.omnipod.util.OmnipodUtil;
/**
* Created by andy on 12/11/2019
@ -11,9 +14,11 @@ import info.nightscout.androidaps.plugins.pump.omnipod.dialogs.PodManagementActi
public class InitPodRefreshAction extends AbstractCancelAction implements FinishActionInterface {
private PodManagementActivity podManagementActivity;
private PodActionType actionType;
public InitPodRefreshAction(PodManagementActivity podManagementActivity) {
public InitPodRefreshAction(PodManagementActivity podManagementActivity, PodActionType actionType) {
this.podManagementActivity = podManagementActivity;
this.actionType = actionType;
}
@Override
@ -31,6 +36,9 @@ public class InitPodRefreshAction extends AbstractCancelAction implements Finish
@Override
public void execute() {
OmnipodUtil.setDriverState(actionType==PodActionType.InitPod ?
OmnipodDriverState.Initalized_PodAvailable : OmnipodDriverState.Initalized_NoPod);
podManagementActivity.refreshButtons();
}