Fix adding a partial bolus to treatments.

This commit is contained in:
Johannes Mockenhaupt 2018-01-31 13:56:09 +01:00
parent b32351145a
commit c62ca89931
No known key found for this signature in database
GPG key ID: 9E1EA6AF7BBBB0D1
2 changed files with 13 additions and 11 deletions

View file

@ -538,7 +538,7 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
// a connection problem, ruffyscripter tried to recover and we can just check the
// history below to see what was actually delivered
// get last bolus from pump histqry for verification
// get last bolus from pump history for verification
CommandResult postBolusStateResult = runCommand(null, 3, ruffyScripter::readQuickInfo);
if (!postBolusStateResult.success) {
return new PumpEnactResult().success(false).enacted(false)
@ -571,7 +571,8 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
return new PumpEnactResult().success(true).enacted(true);
}
return new PumpEnactResult().success(false).enacted(true)
.comment(MainApp.gs(R.string.combo_error_partial_bolus_delivered));
.comment(MainApp.gs(R.string.combo_error_partial_bolus_delivered,
lastPumpBolus.amount, detailedBolusInfo.insulin));
}
// full bolus was delivered successfully
@ -594,15 +595,16 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
* but if they do, the user should be warned since a bolus will be missing from calculations.
*/
private boolean addBolusToTreatments(DetailedBolusInfo detailedBolusInfo, Bolus lastPumpBolus) {
detailedBolusInfo.date = calculateFakeBolusDate(lastPumpBolus);
detailedBolusInfo.pumpId = calculateFakeBolusDate(lastPumpBolus);
detailedBolusInfo.source = Source.PUMP;
detailedBolusInfo.insulin = lastPumpBolus.amount;
DetailedBolusInfo dbi = detailedBolusInfo.copy();
dbi.date = calculateFakeBolusDate(lastPumpBolus);
dbi.pumpId = calculateFakeBolusDate(lastPumpBolus);
dbi.source = Source.PUMP;
dbi.insulin = lastPumpBolus.amount;
try {
boolean treatmentCreated = MainApp.getConfigBuilder().addToHistoryTreatment(detailedBolusInfo);
boolean treatmentCreated = MainApp.getConfigBuilder().addToHistoryTreatment(dbi);
if (!treatmentCreated) {
log.error("Adding treatment record overrode an existing necord: " + detailedBolusInfo);
if (detailedBolusInfo.isSMB) {
log.error("Adding treatment record overrode an existing record: " + dbi);
if (dbi.isSMB) {
Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.sResources.getString(R.string.combo_error_updating_treatment_record), Notification.URGENT);
MainApp.bus().post(new EventNewNotification(notification));
}
@ -610,7 +612,7 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
}
} catch (Exception e) {
log.error("Adding treatment record failed", e);
if (detailedBolusInfo.isSMB) {
if (dbi.isSMB) {
Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.sResources.getString(R.string.combo_error_updating_treatment_record), Notification.URGENT);
MainApp.bus().post(new EventNewNotification(notification));
}

View file

@ -834,7 +834,7 @@
<string name="combo_pump_unsupported_operation">Requested operation not supported by pump</string>
<string name="combo_low_suspend_forced_notification">Unsafe usage: extended or multiwave boluses are active. Loop mode has been set to low-suspend only 6 hours. Only normal boluses are supported in loop mode</string>
<string name="combo_force_disabled_notification">Unsafe usage: the pump uses a different basal rate profile than the first. The loop has been disabled. Select the first profile on the pump and refresh.</string>
<string name="bolus_frequency_exceeded">A bolus with the same amount was requested within the last minute. To prevent accidental double boluses and to guard against bugs this is disallowed.</string>
<string name="bolus_frequency_exceeded">A bolus with the same amount was requested within the last two minutes. To prevent accidental double boluses and to guard against bugs this is disallowed.</string>
<string name="combo_pump_connected_now">Now</string>
<string name="combo_activity_reading_pump_history">Reading pump history</string>
<string name="danar_history">pump history</string>