Enable reading reservoir level units.

This partially reverts commit b4998feee1.
This commit is contained in:
Johannes Mockenhaupt 2018-01-20 15:25:06 +01:00
parent b3a60eb5ab
commit 5de588b540
No known key found for this signature in database
GPG key ID: 9E1EA6AF7BBBB0D1
3 changed files with 13 additions and 7 deletions

View file

@ -164,17 +164,17 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis
}
// reservoir
int reservoirLevel = plugin.getPump().reservoirLevel;
reservoirView.setText(reservoirLevel == -1 ? "" : "" + reservoirLevel + " "
+ MainApp.sResources.getString(R.string.treatments_wizard_unit_label));
if (ps.insulinState == PumpState.LOW) {
reservoirView.setTextColor(Color.YELLOW);
reservoirView.setText(R.string.combo_reservoir_low);
reservoirView.setTypeface(null, Typeface.BOLD);
} else if (ps.insulinState == PumpState.EMPTY) {
reservoirView.setTextColor(Color.RED);
reservoirView.setText(R.string.combo_reservoir_empty);
reservoirView.setTypeface(null, Typeface.BOLD);
} else {
reservoirView.setTextColor(Color.WHITE);
reservoirView.setText(R.string.combo_reservoir_normal);
reservoirView.setTypeface(null, Typeface.NORMAL);
}

View file

@ -354,7 +354,7 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
if (!pump.initialized) {
initializePump();
} else {
runCommand(MainApp.gs(R.string.combo_pump_action_refreshing), 1, ruffyScripter::readPumpState);
runCommand(MainApp.gs(R.string.combo_pump_action_refreshing), 1, ruffyScripter::readReservoirLevelAndLastBolus);
// note that since the history is checked upon every connect, the above already updated
// the DB with any changed history records
}
@ -406,10 +406,13 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
MainApp.bus().post(new EventInitializationChanged());
// ComboFragment updates state fully only after the pump has initialized, so read full state here
updateLocalData(readBasalResult);
updateLocalData(runCommand(null, 1, ruffyScripter::readReservoirLevelAndLastBolus));
}
private void updateLocalData(CommandResult result) {
if (result.reservoirLevel != PumpState.UNKNOWN) {
pump.reservoirLevel = result.reservoirLevel;
}
if (result.state.menu != null) {
pump.state = result.state;
}
@ -1111,9 +1114,11 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
JSONObject pumpJson = new JSONObject();
pumpJson.put("clock", DateUtil.toISOString(pump.lastSuccessfulCmdTime));
int level = 150;
if (pump.state.insulinState == PumpState.LOW) level = 8;
int level;
if (pump.reservoirLevel != -1) level = pump.reservoirLevel;
else if (pump.state.insulinState == PumpState.LOW) level = 8;
else if (pump.state.insulinState == PumpState.EMPTY) level = 0;
else level = 150;
pumpJson.put("reservoir", level);
JSONObject statusJson = new JSONObject();

View file

@ -17,6 +17,7 @@ class ComboPump {
public volatile String activity;
@NonNull
volatile PumpState state = new PumpState();
volatile int reservoirLevel = -1;
@NonNull
volatile BasalProfile basalProfile = new BasalProfile();