displaying basal fix
This commit is contained in:
parent
3bceeb368a
commit
76d42ef3fb
12 changed files with 68 additions and 20 deletions
|
@ -38,7 +38,7 @@ public class PumpEnactResult extends Object implements Parcelable {
|
|||
if (isTempCancel) {
|
||||
ret += "\n" + MainApp.sResources.getString(R.string.enacted) + ": " + enacted;
|
||||
ret += "\n" + MainApp.sResources.getString(R.string.comment) + ": " + comment + "\n" +
|
||||
MainApp.sResources.getString(R.string.tempcancel);
|
||||
MainApp.sResources.getString(R.string.canceltemp);
|
||||
} else if (isPercent) {
|
||||
ret += "\n" + MainApp.sResources.getString(R.string.enacted) + ": " + enacted;
|
||||
ret += "\n" + MainApp.sResources.getString(R.string.comment) + ": " + comment;
|
||||
|
@ -62,7 +62,7 @@ public class PumpEnactResult extends Object implements Parcelable {
|
|||
if (isTempCancel) {
|
||||
ret += "<br><b>" + MainApp.sResources.getString(R.string.enacted) + "</b>: " + enacted;
|
||||
ret += "<br><b>" + MainApp.sResources.getString(R.string.comment) + "</b>: " + comment +
|
||||
"<br>" + MainApp.sResources.getString(R.string.tempcancel);
|
||||
"<br>" + MainApp.sResources.getString(R.string.canceltemp);
|
||||
} else if (isPercent) {
|
||||
ret += "<br><b>" + MainApp.sResources.getString(R.string.enacted) + "</b>: " + enacted;
|
||||
ret += "<br><b>" + MainApp.sResources.getString(R.string.comment) + "</b>: " + comment;
|
||||
|
|
|
@ -2,6 +2,8 @@ package info.nightscout.androidaps.interfaces;
|
|||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import info.nightscout.androidaps.data.PumpEnactResult;
|
||||
import info.nightscout.androidaps.db.TempBasal;
|
||||
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
||||
|
@ -21,6 +23,7 @@ public interface PumpInterface {
|
|||
double getBaseBasalRate(); // base basal rate, not temp basal
|
||||
double getTempBasalAbsoluteRate();
|
||||
double getTempBasalRemainingMinutes();
|
||||
TempBasal getTempBasal(Date time);
|
||||
TempBasal getTempBasal();
|
||||
TempBasal getExtendedBolus();
|
||||
|
||||
|
|
|
@ -263,6 +263,11 @@ public class ConfigBuilderFragment extends Fragment implements PluginBase, PumpI
|
|||
return activePump.getTempBasalRemainingMinutes();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TempBasal getTempBasal(Date time) {
|
||||
return activePump.getTempBasal(time);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TempBasal getTempBasal() {
|
||||
return activePump.getTempBasal();
|
||||
|
|
|
@ -77,7 +77,7 @@ public class DanaConnection {
|
|||
|
||||
private static final UUID SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
|
||||
|
||||
|
||||
// TODO: keepalive kills active connection
|
||||
public DanaConnection(Bus bus) {
|
||||
danaRFragment = (DanaRFragment) MainActivity.getSpecificPlugin(DanaRFragment.class);
|
||||
danaRFragment.setDanaConnection(this);
|
||||
|
|
|
@ -338,6 +338,14 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
return null;
|
||||
}
|
||||
|
||||
public TempBasal getTempBasal(Date time) {
|
||||
TempBasal temp = MainApp.getConfigBuilder().getActiveTempBasals().getTempBasal(time);
|
||||
if (temp != null) return temp;
|
||||
if (useExtendedBoluses)
|
||||
return MainApp.getConfigBuilder().getActiveTempBasals().getExtendedBolus(time);
|
||||
return null;
|
||||
}
|
||||
|
||||
public TempBasal getRealTempBasal() {
|
||||
return MainApp.getConfigBuilder().getActiveTempBasals().getTempBasal(new Date());
|
||||
}
|
||||
|
@ -406,6 +414,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.enacted = false;
|
||||
result.percent = 100;
|
||||
result.isPercent = true;
|
||||
result.isTempCancel = true;
|
||||
if (Config.logPumpActions)
|
||||
log.debug("setTempBasalAbsolute: doTempOff OK");
|
||||
return result;
|
||||
|
@ -438,6 +447,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.enacted = false;
|
||||
result.duration = ((Double) getTempBasalRemainingMinutes()).intValue();
|
||||
result.isPercent = true;
|
||||
result.isTempCancel = false;
|
||||
if (Config.logPumpActions)
|
||||
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
|
||||
return result;
|
||||
|
@ -492,6 +502,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.enacted = false;
|
||||
result.duration = getDanaRPump().extendedBolusRemainingMinutes;
|
||||
result.isPercent = false;
|
||||
result.isTempCancel = false;
|
||||
if (Config.logPumpActions)
|
||||
log.debug("setTempBasalAbsolute: Correct extended already set");
|
||||
return result;
|
||||
|
@ -524,6 +535,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
ConfigBuilderFragment configBuilderFragment = MainApp.getConfigBuilder();
|
||||
percent = configBuilderFragment.applyBasalConstraints(percent);
|
||||
if (percent < 0) {
|
||||
result.isTempCancel = false;
|
||||
result.enacted = false;
|
||||
result.success = false;
|
||||
result.comment = MainApp.instance().getString(R.string.danar_invalidinput);
|
||||
|
@ -534,6 +546,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
if (getDanaRPump().isTempBasalInProgress && getDanaRPump().tempBasalPercent == percent) {
|
||||
result.enacted = false;
|
||||
result.success = true;
|
||||
result.isTempCancel = false;
|
||||
result.comment = MainApp.instance().getString(R.string.virtualpump_resultok);
|
||||
result.duration = getDanaRPump().tempBasalRemainingMin;
|
||||
result.percent = getDanaRPump().tempBasalPercent;
|
||||
|
@ -549,6 +562,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.enacted = true;
|
||||
result.success = true;
|
||||
result.comment = MainApp.instance().getString(R.string.virtualpump_resultok);
|
||||
result.isTempCancel = false;
|
||||
result.duration = getDanaRPump().tempBasalRemainingMin;
|
||||
result.percent = getDanaRPump().tempBasalPercent;
|
||||
result.isPercent = true;
|
||||
|
@ -578,6 +592,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.duration = getDanaRPump().extendedBolusRemainingMinutes;
|
||||
result.absolute = getDanaRPump().extendedBolusAbsoluteRate;
|
||||
result.isPercent = false;
|
||||
result.isTempCancel = false;
|
||||
if (Config.logPumpActions)
|
||||
log.debug("setExtendedBolus: Correct extended bolus already set");
|
||||
return result;
|
||||
|
@ -589,6 +604,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.enacted = true;
|
||||
result.success = true;
|
||||
result.comment = MainApp.instance().getString(R.string.virtualpump_resultok);
|
||||
result.isTempCancel = false;
|
||||
result.duration = getDanaRPump().extendedBolusRemainingMinutes;
|
||||
result.absolute = getDanaRPump().extendedBolusAbsoluteRate;
|
||||
result.bolusDelivered = getDanaRPump().extendedBolusAmount;
|
||||
|
@ -614,6 +630,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
result.success = true;
|
||||
result.enacted = false;
|
||||
result.comment = MainApp.instance().getString(R.string.virtualpump_resultok);
|
||||
result.isTempCancel = true;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -623,9 +640,11 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
if (getDanaRPump().isTempBasalInProgress) {
|
||||
getDanaConnection().tempBasalStop();
|
||||
result.enacted = true;
|
||||
result.isTempCancel = true;
|
||||
}
|
||||
if (!getDanaRPump().isTempBasalInProgress) {
|
||||
result.success = true;
|
||||
result.isTempCancel = true;
|
||||
result.comment = MainApp.instance().getString(R.string.virtualpump_resultok);
|
||||
if (Config.logPumpActions)
|
||||
log.debug("cancelRealTempBasal: OK");
|
||||
|
@ -633,6 +652,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
} else {
|
||||
result.success = false;
|
||||
result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly);
|
||||
result.isTempCancel = true;
|
||||
log.error("cancelRealTempBasal: Failed to cancel temp basal");
|
||||
return result;
|
||||
}
|
||||
|
@ -645,15 +665,18 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
|||
if (getDanaRPump().isExtendedInProgress) {
|
||||
getDanaConnection().extendedBolusStop();
|
||||
result.enacted = true;
|
||||
result.isTempCancel = true;
|
||||
}
|
||||
if (!getDanaRPump().isExtendedInProgress) {
|
||||
result.success = true;
|
||||
result.comment = MainApp.instance().getString(R.string.virtualpump_resultok);
|
||||
result.isTempCancel = true;
|
||||
if (Config.logPumpActions)
|
||||
log.debug("cancelExtendedBolus: OK");
|
||||
return result;
|
||||
} else {
|
||||
result.success = false;
|
||||
result.isTempCancel = true;
|
||||
result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly);
|
||||
log.error("cancelExtendedBolus: Failed to cancel extended bolus");
|
||||
return result;
|
||||
|
|
|
@ -24,19 +24,23 @@ public class APSResult implements Parcelable {
|
|||
@Override
|
||||
public String toString() {
|
||||
if (changeRequested)
|
||||
return MainApp.sResources.getString(R.string.rate) + " " + DecimalFormatter.to2Decimal(rate) + " U/h\n" +
|
||||
MainApp.sResources.getString(R.string.duration) + " " + DecimalFormatter.to0Decimal(duration) + " min\n" +
|
||||
MainApp.sResources.getString(R.string.reason) + " " + reason;
|
||||
return MainApp.sResources.getString(R.string.rate) + ": " + DecimalFormatter.to2Decimal(rate) + " U/h\n" +
|
||||
MainApp.sResources.getString(R.string.duration) + ": " + DecimalFormatter.to0Decimal(duration) + " min\n" +
|
||||
MainApp.sResources.getString(R.string.reason) + ": " + reason;
|
||||
else
|
||||
return MainApp.sResources.getString(R.string.nochangerequested);
|
||||
}
|
||||
|
||||
public Spanned toSpanned() {
|
||||
if (changeRequested)
|
||||
return Html.fromHtml("<b>" + MainApp.sResources.getString(R.string.rate) + "</b>: " + DecimalFormatter.to2Decimal(rate) + " U/h<br>" +
|
||||
"<b>" + MainApp.sResources.getString(R.string.duration) + "</b>: " + DecimalFormatter.to2Decimal(duration) + " min<br>" +
|
||||
"<b>" + MainApp.sResources.getString(R.string.reason) + "</b>: " + reason);
|
||||
else
|
||||
if (changeRequested) {
|
||||
String ret = "";
|
||||
if (rate == 0 && duration == 0) ret = MainApp.sResources.getString(R.string.canceltemp);
|
||||
else
|
||||
ret = "<b>" + MainApp.sResources.getString(R.string.rate) + "</b>: " + DecimalFormatter.to2Decimal(rate) + " U/h<br>" +
|
||||
"<b>" + MainApp.sResources.getString(R.string.duration) + "</b>: " + DecimalFormatter.to2Decimal(duration) + " min<br>" +
|
||||
"<b>" + MainApp.sResources.getString(R.string.reason) + "</b>: " + reason;
|
||||
return Html.fromHtml(ret);
|
||||
} else
|
||||
return Html.fromHtml(MainApp.sResources.getString(R.string.nochangerequested));
|
||||
}
|
||||
|
||||
|
@ -70,7 +74,8 @@ public class APSResult implements Parcelable {
|
|||
changeRequested = in.readInt() == 1;
|
||||
}
|
||||
|
||||
public APSResult() {}
|
||||
public APSResult() {
|
||||
}
|
||||
|
||||
public APSResult clone() {
|
||||
APSResult newResult = new APSResult();
|
||||
|
|
|
@ -27,12 +27,14 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
import info.nightscout.androidaps.Config;
|
||||
import info.nightscout.androidaps.MainActivity;
|
||||
import info.nightscout.androidaps.MainApp;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.events.EventNewBG;
|
||||
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
|
||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
||||
import info.nightscout.androidaps.plugins.Loop.LoopFragment;
|
||||
|
||||
public class ObjectivesFragment extends Fragment implements View.OnClickListener, PluginBase, ConstraintsInterface {
|
||||
private static Logger log = LoggerFactory.getLogger(ObjectivesFragment.class);
|
||||
|
@ -60,7 +62,8 @@ public class ObjectivesFragment extends Fragment implements View.OnClickListener
|
|||
|
||||
@Override
|
||||
public boolean isVisibleInTabs(int type) {
|
||||
return fragmentVisible;
|
||||
LoopFragment loopFragment = (LoopFragment) MainActivity.getSpecificPlugin(LoopFragment.class);
|
||||
return fragmentVisible && loopFragment != null && loopFragment.isVisibleInTabs(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -267,7 +267,14 @@ public class OverviewFragment extends Fragment implements PluginBase {
|
|||
objectivesFragment.saveProgress();
|
||||
}
|
||||
}
|
||||
updateGUI();
|
||||
Activity activity = getActivity();
|
||||
if (activity != null)
|
||||
activity.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateGUI();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -532,7 +539,7 @@ public class OverviewFragment extends Fragment implements PluginBase {
|
|||
long now = new Date().getTime();
|
||||
List<BarDataPoint> basalArray = new ArrayList<BarDataPoint>();
|
||||
for (long time = fromTime; time < now; time += 5 * 60 * 1000L) {
|
||||
TempBasal tb = MainApp.getConfigBuilder().getActiveTempBasals().getTempBasal(new Date(time));
|
||||
TempBasal tb = MainApp.getConfigBuilder().getActivePump().getTempBasal(new Date(time));
|
||||
if (tb != null)
|
||||
basalArray.add(new BarDataPoint(time, tb.tempBasalConvertedToAbsolute(new Date(time)), true));
|
||||
else
|
||||
|
|
|
@ -230,9 +230,6 @@ public class TempBasalsFragment extends Fragment implements PluginBase, TempBasa
|
|||
for (TempBasal t : tempBasals) {
|
||||
if (t.isInProgress(time)) return t;
|
||||
}
|
||||
if (useExtendedBoluses) {
|
||||
return getExtendedBolus(time);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -177,6 +177,11 @@ public class VirtualPumpFragment extends Fragment implements PluginBase, PumpInt
|
|||
return getTempBasal().getPlannedRemainingMinutes();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TempBasal getTempBasal(Date time) {
|
||||
return MainApp.getConfigBuilder().getActiveTempBasals().getTempBasal(new Date());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PumpEnactResult deliverTreatment(Double insulin, Integer carbs) {
|
||||
PumpEnactResult result = new PumpEnactResult();
|
||||
|
|
|
@ -232,6 +232,6 @@
|
|||
<string name="reloadprofile">Obnovit profil</string>
|
||||
<string name="save">Uložit</string>
|
||||
<string name="success">Úspěch</string>
|
||||
<string name="tempcancel">Zrušit dočasný bazál</string>
|
||||
<string name="virtualpump_lastconnection_label">Poslední spojení:</string>
|
||||
<string name="canceltemp">Zrušit dočasný bazál</string>
|
||||
</resources>
|
|
@ -236,11 +236,11 @@
|
|||
<string name="danar_valuenotsetproperly">Value not set properly</string>
|
||||
<string name="reloadprofile">Reload profile</string>
|
||||
<string name="danar_viewprofile">View profile</string>
|
||||
<string name="tempcancel">Temp cancel</string>
|
||||
<string name="enacted">Enacted</string>
|
||||
<string name="comment">Comment</string>
|
||||
<string name="success">Success</string>
|
||||
<string name="percent">Percent</string>
|
||||
<string name="absolute">Absolute</string>
|
||||
<string name="canceltemp">Cancel temp basal</string>
|
||||
|
||||
</resources>
|
||||
|
|
Loading…
Reference in a new issue