Better bolus wizard warning
This commit is contained in:
parent
75baa473f1
commit
76439777b0
7 changed files with 38 additions and 7 deletions
|
@ -184,7 +184,7 @@ public class FillDialog extends DialogFragment implements OnClickListener {
|
|||
confirmMessage.add("");
|
||||
confirmMessage.add(MainApp.gs(R.string.bolus) + ": " + "<font color='" + MainApp.gc(R.color.colorCarbsButton) + "'>" + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints) + "U" + "</font>");
|
||||
if (Math.abs(insulinAfterConstraints - insulin) > 0.01d)
|
||||
confirmMessage.add("<font color='" + MainApp.gc(R.color.low) + "'>" + MainApp.gs(R.string.bolusconstraintapplied) + "</font>");
|
||||
confirmMessage.add(MainApp.gs(R.string.bolusconstraintappliedwarning, MainApp.gc(R.color.warning), insulin, insulinAfterConstraints));
|
||||
}
|
||||
|
||||
if (pumpSiteChangeCheckbox.isChecked())
|
||||
|
|
|
@ -226,7 +226,7 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener
|
|||
}
|
||||
|
||||
if (Math.abs(insulinAfterConstraints - insulin) > pump.getPumpDescription().pumpType.determineCorrectBolusStepSize(insulinAfterConstraints))
|
||||
actions.add("<font color='" + MainApp.gc(R.color.warning) + "'>" + MainApp.gs(R.string.bolusconstraintapplied) + "</font>");
|
||||
actions.add(MainApp.gs(R.string.bolusconstraintappliedwarning, MainApp.gc(R.color.warning), insulin, insulinAfterConstraints));
|
||||
|
||||
int eatingSoonTTDuration = SP.getInt(R.string.key_eatingsoon_duration, Constants.defaultEatingSoonTTDuration);
|
||||
eatingSoonTTDuration = eatingSoonTTDuration > 0 ? eatingSoonTTDuration : Constants.defaultEatingSoonTTDuration;
|
||||
|
|
|
@ -142,7 +142,7 @@ public class NewTreatmentDialog extends DialogFragment implements OnClickListene
|
|||
confirmMessage += "<br/><font color='" + MainApp.gc(R.color.warning) + "'>" + MainApp.gs(R.string.bolusrecordedonly) + "</font>";
|
||||
}
|
||||
if (Math.abs(insulinAfterConstraints - insulin) > pump.getPumpDescription().pumpType.determineCorrectBolusStepSize(insulinAfterConstraints) || !Objects.equals(carbsAfterConstraints, carbs))
|
||||
confirmMessage += "<br/><font color='" + MainApp.gc(R.color.warning) + "'>" + MainApp.gs(R.string.bolusconstraintapplied) + "</font>";
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.bolusconstraintappliedwarning, MainApp.gc(R.color.warning), insulin, insulinAfterConstraints);
|
||||
}
|
||||
if (carbsAfterConstraints > 0)
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.carbs) + ": " + "<font color='" + MainApp.gc(R.color.carbs) + "'>" + carbsAfterConstraints + "g" + "</font>";
|
||||
|
|
|
@ -485,6 +485,20 @@ public class IobCobCalculatorPlugin extends PluginBase {
|
|||
return new CobInfo(displayCob, futureCarbs);
|
||||
}
|
||||
|
||||
public double slowAbsorptionPercentage(int timeInMinutes) {
|
||||
double sum = 0;
|
||||
int count = 0;
|
||||
int valuesToProcess = timeInMinutes / 5;
|
||||
synchronized (dataLock) {
|
||||
for (int i = autosensDataTable.size() - 1; i >= 0 && count < valuesToProcess; i--) {
|
||||
if (autosensDataTable.valueAt(i).failoverToMinAbsorbtionRate)
|
||||
sum++;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return sum /count;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public AutosensData getLastAutosensData(String reason) {
|
||||
if (autosensDataTable.size() < 1) {
|
||||
|
|
|
@ -22,6 +22,7 @@ import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin
|
|||
import info.nightscout.androidaps.plugins.configBuilder.ProfileFunctions
|
||||
import info.nightscout.androidaps.plugins.general.overview.dialogs.ErrorHelperActivity
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.GlucoseStatus
|
||||
import info.nightscout.androidaps.plugins.iob.iobCobCalculator.IobCobCalculatorPlugin
|
||||
import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin
|
||||
import info.nightscout.androidaps.queue.Callback
|
||||
import org.json.JSONException
|
||||
|
@ -241,11 +242,23 @@ class BolusWizard @JvmOverloads constructor(val profile: Profile,
|
|||
var confirmMessage = MainApp.gs(R.string.entertreatmentquestion)
|
||||
if (insulinAfterConstraints > 0)
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.bolus) + ": " + "<font color='" + MainApp.gc(R.color.bolus) + "'>" + DecimalFormatter.toPumpSupportedBolus(insulinAfterConstraints) + "U" + "</font>"
|
||||
if (carbs > 0)
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.carbs) + ": " + "<font color='" + MainApp.gc(R.color.carbs) + "'>" + carbs + "g" + "</font>"
|
||||
|
||||
if (carbs > 0) {
|
||||
var timeShift = ""
|
||||
if (carbTime > 0) {
|
||||
timeShift += " ( +" + MainApp.gs(R.string.mins, carbTime) + " )"
|
||||
} else if (carbTime < 0) {
|
||||
timeShift += " ( -" + MainApp.gs(R.string.mins, carbTime) + " )"
|
||||
}
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.carbs) + ": " + "<font color='" + MainApp.gc(R.color.carbs) + "'>" + carbs + "g" + timeShift + "</font>"
|
||||
}
|
||||
if (insulinFromCOB > 0) {
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.insulinFromCob, MainApp.gc(R.color.cobAlert), cob, insulinFromCOB)
|
||||
val absorptionRate = IobCobCalculatorPlugin.getPlugin().slowAbsorptionPercentage(60)
|
||||
if (absorptionRate > .25)
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.slowabsorptiondetected, MainApp.gc(R.color.cobAlert), (absorptionRate * 100).toInt())
|
||||
}
|
||||
if (Math.abs(insulinAfterConstraints - calculatedTotalInsulin) > pump.getPumpDescription().pumpType.determineCorrectBolusStepSize(insulinAfterConstraints)) {
|
||||
confirmMessage += "<br/><font color='" + MainApp.gc(R.color.warning) + "'>" + MainApp.gs(R.string.bolusconstraintapplied) + "</font>"
|
||||
confirmMessage += "<br/>" + MainApp.gs(R.string.bolusconstraintappliedwarning, MainApp.gc(R.color.warning), calculatedTotalInsulin, insulinAfterConstraints)
|
||||
}
|
||||
|
||||
return confirmMessage
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
<color name="tabBgColor">#f0003f59</color>
|
||||
<color name="tabBgColorSelected">#FF33B5E5</color>
|
||||
<color name="deviations">#FF0000</color>
|
||||
<color name="cobAlert">#7484E2</color>
|
||||
<color name="inrangebackground">#2800FF00</color>
|
||||
<color name="basebasal">#C83F51B5</color>
|
||||
<color name="tempbasal">#C803A9F4</color>
|
||||
|
|
|
@ -1648,6 +1648,9 @@
|
|||
|
||||
<string name="pump_no_connection_h">No connection for %1$d hour(s) %2$d min</string>
|
||||
<string name="pump_no_connection_d">No connection for %1$d day(s) %2$d hours</string>
|
||||
<string name="insulinFromCob"><![CDATA[COB insulin: <font color=\'%1$s\'>%2$.1fg %3$.2fU</font>]]></string>
|
||||
<string name="bolusconstraintappliedwarning"><![CDATA[<font color=\'%1$s\'>Bolus constraint applied: %2$.2fU to %3$.2fU</font>]]></string>
|
||||
<string name="slowabsorptiondetected"><![CDATA[<font color=\'%1$s\'>!!!!! Slow carbs absorption detected: %2$d%% of time. Double check your calculation. COB can be really off !!!!!</font>]]></string>
|
||||
|
||||
<plurals name="objective_days">
|
||||
<item quantity="one">%1$d day</item>
|
||||
|
|
Loading…
Reference in a new issue