diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index 6b9754a246..2e48d5328f 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -201,7 +201,7 @@ public class MainApp extends Application { FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-G5Uploader")); else if (Config.PUMPCONTROL) FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-PumpControl")); - else if (MainApp.getConstraintChecker().limitClosedLoop(new Constraint<>(true)).get()) + else if (MainApp.getConstraintChecker().isClosedLoopAllowed().get()) FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-ClosedLoop")); else FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-OpenLoop")); diff --git a/app/src/main/java/info/nightscout/androidaps/data/ConstraintChecker.java b/app/src/main/java/info/nightscout/androidaps/data/ConstraintChecker.java index 1a17880cf5..a4cccd772c 100644 --- a/app/src/main/java/info/nightscout/androidaps/data/ConstraintChecker.java +++ b/app/src/main/java/info/nightscout/androidaps/data/ConstraintChecker.java @@ -20,26 +20,35 @@ public class ConstraintChecker implements ConstraintsInterface { this.mainApp = mainApp; } + + public Constraint isLoopInvokationAllowed() { + return isLoopInvokationAllowed(new Constraint<>(true)); + } + + public Constraint isClosedLoopAllowed() { + return isClosedLoopAllowed(new Constraint<>(true)); + } + @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { ArrayList constraintsPlugins = mainApp.getSpecificPluginsListByInterface(ConstraintsInterface.class); for (PluginBase p : constraintsPlugins) { ConstraintsInterface constraint = (ConstraintsInterface) p; if (!p.isEnabled(PluginBase.CONSTRAINTS)) continue; - constraint.limitRunningLoop(value); + constraint.isLoopInvokationAllowed(value); } return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { ArrayList constraintsPlugins = mainApp.getSpecificPluginsListByInterface(ConstraintsInterface.class); for (PluginBase p : constraintsPlugins) { ConstraintsInterface constraint = (ConstraintsInterface) p; if (!p.isEnabled(PluginBase.CONSTRAINTS)) continue; - constraint.limitClosedLoop(value); + constraint.isClosedLoopAllowed(value); } return value; } diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/ConstraintsInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/ConstraintsInterface.java index 495039bf9b..95a49d38ae 100644 --- a/app/src/main/java/info/nightscout/androidaps/interfaces/ConstraintsInterface.java +++ b/app/src/main/java/info/nightscout/androidaps/interfaces/ConstraintsInterface.java @@ -5,9 +5,9 @@ package info.nightscout.androidaps.interfaces; */ public interface ConstraintsInterface { - Constraint limitRunningLoop(Constraint value); + Constraint isLoopInvokationAllowed(Constraint value); - Constraint limitClosedLoop(Constraint value); + Constraint isClosedLoopAllowed(Constraint value); boolean isAutosensModeEnabled(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java index ccee2f00ee..d9e60bc61c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java @@ -184,7 +184,7 @@ public class ObjectivesPlugin implements PluginBase, ConstraintsInterface { return new RequirementResult(true, ""); case 3: Constraint closedLoopEnabled = new Constraint<>(true); - SafetyPlugin.getPlugin().limitClosedLoop(closedLoopEnabled); + SafetyPlugin.getPlugin().isClosedLoopAllowed(closedLoopEnabled); return new RequirementResult(closedLoopEnabled.get(), MainApp.sResources.getString(R.string.closedmodeenabled) + ": " + yesOrNo(closedLoopEnabled.get())); case 4: double maxIOB = MainApp.getConstraintChecker().applyMaxIOBConstraints(1000d); @@ -295,14 +295,14 @@ public class ObjectivesPlugin implements PluginBase, ConstraintsInterface { * Constraints interface **/ @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { if (objectives.get(0).started.getTime() == 0) value.set(false, String.format(MainApp.gs(R.string.objectivenotstarted), 1)); return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { if (objectives.get(3).started.getTime() == 0) value.set(false, String.format(MainApp.gs(R.string.objectivenotstarted), 4)); return value; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java index 6292925f06..863c899856 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java @@ -96,14 +96,14 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface { * Constraints interface **/ @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { if (!ConfigBuilderPlugin.getActivePump().getPumpDescription().isTempBasalCapable) value.set(false, MainApp.gs(R.string.pumpisnottempbasalcapable)); return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { if (!MainApp.isEngineeringModeOrRelease()) value.set(false, MainApp.gs(R.string.closed_loop_disabled_on_dev_branch)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 5cd16d3eb4..ba3d88b76a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -259,8 +259,7 @@ public class LoopPlugin implements PluginBase { try { if (Config.logFunctionCalls) log.debug("invoke from " + initiator); - Constraint loopEnabled = new Constraint<>(true); - MainApp.getConstraintChecker().limitRunningLoop(loopEnabled); + Constraint loopEnabled = MainApp.getConstraintChecker().isLoopInvokationAllowed(); if (!loopEnabled.get()) { String message = MainApp.sResources.getString(R.string.loopdisabled) + "\n" + loopEnabled.getReasons(); @@ -331,8 +330,7 @@ public class LoopPlugin implements PluginBase { return; } - Constraint closedLoopEnabled = new Constraint<>(true); - MainApp.getConstraintChecker().limitClosedLoop(closedLoopEnabled); + Constraint closedLoopEnabled = MainApp.getConstraintChecker().isClosedLoopAllowed(); if (closedLoopEnabled.get()) { if (result.isChangeRequested()) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java index 3df9534f49..f51bbd2352 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java @@ -249,7 +249,7 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface { if (determineBasalResultAMA.rate == 0d && determineBasalResultAMA.duration == 0 && !MainApp.getConfigBuilder().isTempBasalInProgress()) determineBasalResultAMA.tempBasalReqested = false; // limit requests on openloop mode - if (!MainApp.getConstraintChecker().limitClosedLoop(new Constraint<>(true)).get()) { + if (!MainApp.getConstraintChecker().isClosedLoopAllowed().get()) { long now = System.currentTimeMillis(); TemporaryBasal activeTemp = MainApp.getConfigBuilder().getTempBasalFromHistory(now); if (activeTemp != null && determineBasalResultAMA.rate == 0 && determineBasalResultAMA.duration == 0) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java index d72e9d27a9..4258ae6714 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java @@ -238,7 +238,7 @@ public class OpenAPSMAPlugin implements PluginBase, APSInterface { if (determineBasalResultMA.rate == 0d && determineBasalResultMA.duration == 0 && !MainApp.getConfigBuilder().isTempBasalInProgress()) determineBasalResultMA.tempBasalReqested = false; // limit requests on openloop mode - if (!MainApp.getConstraintChecker().limitClosedLoop(new Constraint<>(true)).get()) { + if (!MainApp.getConstraintChecker().isClosedLoopAllowed().get()) { TemporaryBasal activeTemp = MainApp.getConfigBuilder().getTempBasalFromHistory(now); if (activeTemp != null && determineBasalResultMA.rate == 0 && determineBasalResultMA.duration == 0) { // going to cancel diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java index c0983fc09d..745ae3bb53 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java @@ -216,8 +216,7 @@ public class DetermineBasalAdapterSMBJS { String units = profile.getUnits(); - Constraint closedLoopEnabled = new Constraint<>(true); - MainApp.getConstraintChecker().limitClosedLoop(closedLoopEnabled); + Constraint closedLoopEnabled = MainApp.getConstraintChecker().isClosedLoopAllowed(); mProfile = new JSONObject(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java index 6b6a0ee1db..09ff62a324 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java @@ -254,7 +254,7 @@ public class OpenAPSSMBPlugin implements PluginBase, APSInterface { if (determineBasalResultSMB.rate == 0d && determineBasalResultSMB.duration == 0 && !MainApp.getConfigBuilder().isTempBasalInProgress()) determineBasalResultSMB.tempBasalReqested = false; // limit requests on openloop mode - if (!MainApp.getConstraintChecker().limitClosedLoop(new Constraint<>(true)).get()) { + if (!MainApp.getConstraintChecker().isClosedLoopAllowed().get()) { TemporaryBasal activeTemp = MainApp.getConfigBuilder().getTempBasalFromHistory(now); if (activeTemp != null && determineBasalResultSMB.rate == 0 && determineBasalResultSMB.duration == 0) { // going to cancel diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index f79c5af3be..5736c0a715 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -1017,8 +1017,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, } } - Constraint closedLoopEnabled = new Constraint<>(true); - MainApp.getConstraintChecker().limitClosedLoop(closedLoopEnabled); + Constraint closedLoopEnabled = MainApp.getConstraintChecker().isClosedLoopAllowed(); // open loop mode final LoopPlugin.LastRun finalLastRun = LoopPlugin.lastRun; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java index 41b1462eb3..c68815e2fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java @@ -1422,14 +1422,14 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf private boolean validBasalRateProfileSelectedOnPump = true; @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { if (!validBasalRateProfileSelectedOnPump) value.set(false, MainApp.gs(R.string.novalidbasalrate)); return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { return value; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java index 652b11de53..2f225e9894 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java @@ -434,12 +434,12 @@ public abstract class AbstractDanaRPlugin implements PluginBase, PumpInterface, */ @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { return value; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index b415014b4b..4cd2bfb99b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -274,12 +274,12 @@ public class DanaRSPlugin implements PluginBase, PumpInterface, DanaRInterface, // Constraints interface @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { return value; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPumpPlugin.java index 4c982a44a2..ce5be1a2a9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPumpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPumpPlugin.java @@ -1080,12 +1080,12 @@ public class InsightPumpPlugin implements PluginBase, PumpInterface, Constraints // Constraints @Override - public Constraint limitRunningLoop(Constraint value) { + public Constraint isLoopInvokationAllowed(Constraint value) { return value; } @Override - public Constraint limitClosedLoop(Constraint value) { + public Constraint isClosedLoopAllowed(Constraint value) { return value; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java index 20684891a5..9323393abd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java @@ -435,7 +435,7 @@ public class ActionStringHandler { // decide if enabled/disabled closed/open; what Plugin as APS? final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop(); if (activeloop != null && activeloop.isEnabled(activeloop.getType())) { - if (MainApp.getConstraintChecker().limitClosedLoop(new Constraint<>(true)).get()) { + if (MainApp.getConstraintChecker().isClosedLoopAllowed().get()) { ret += "CLOSED LOOP\n"; } else { ret += "OPEN LOOP\n";