Bring back last bolus to combo fragment.
(cherry picked from commit 108349e)
This commit is contained in:
parent
5de588b540
commit
e3abe04545
5 changed files with 35 additions and 3 deletions
|
@ -15,6 +15,7 @@ import android.widget.TextView;
|
|||
import com.squareup.otto.Subscribe;
|
||||
|
||||
import de.jotomo.ruffy.spi.PumpState;
|
||||
import de.jotomo.ruffy.spi.history.Bolus;
|
||||
import info.nightscout.androidaps.MainApp;
|
||||
import info.nightscout.androidaps.R;
|
||||
import info.nightscout.androidaps.plugins.Common.SubscriberFragment;
|
||||
|
@ -29,6 +30,7 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis
|
|||
private TextView batteryView;
|
||||
private TextView reservoirView;
|
||||
private TextView lastConnectionView;
|
||||
private TextView lastBolusView;
|
||||
private TextView baseBasalRate;
|
||||
private TextView tempBasalText;
|
||||
private Button refreshButton;
|
||||
|
@ -45,6 +47,7 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis
|
|||
activityView = (TextView) view.findViewById(R.id.combo_activity);
|
||||
batteryView = (TextView) view.findViewById(R.id.combo_pumpstate_battery);
|
||||
reservoirView = (TextView) view.findViewById(R.id.combo_insulinstate);
|
||||
lastBolusView = (TextView) view.findViewById(R.id.combo_last_bolus);
|
||||
lastConnectionView = (TextView) view.findViewById(R.id.combo_lastconnection);
|
||||
baseBasalRate = (TextView) view.findViewById(R.id.combo_base_basal_rate);
|
||||
tempBasalText = (TextView) view.findViewById(R.id.combo_temp_basal);
|
||||
|
@ -192,6 +195,28 @@ public class ComboFragment extends SubscriberFragment implements View.OnClickLis
|
|||
lastConnectionView.setTextColor(Color.WHITE);
|
||||
}
|
||||
|
||||
// last bolus
|
||||
Bolus bolus = plugin.getPump().lastBolus;
|
||||
if (bolus != null && bolus.timestamp + 6 * 60 * 60 * 1000 >= System.currentTimeMillis()) {
|
||||
long agoMsc = System.currentTimeMillis() - bolus.timestamp;
|
||||
double bolusMinAgo = agoMsc / 60d / 1000d;
|
||||
double bolusHoursAgo = agoMsc / 60d / 60d / 1000d;
|
||||
// TODO i18n
|
||||
if ((agoMsc < 60 * 1000)) {
|
||||
lastBolusView.setText(String.format("%.1f U (now)", bolus.amount));
|
||||
} else if (bolusMinAgo < 60) {
|
||||
lastBolusView.setText(String.format("%.1f U (%d min ago)", bolus.amount, (int) bolusMinAgo));
|
||||
// lastBolusView.setText(getString(R.string.combo_last_bolus, bolus.amount,
|
||||
// getString(R.string.minago, bolusMinAgo), DateUtil.timeString(bolus.timestamp)));
|
||||
} else {
|
||||
lastBolusView.setText(String.format("%.1f U (%.1f h ago)", bolus.amount, bolusHoursAgo));
|
||||
// lastBolusView.setText(getString(R.string.combo_last_bolus, bolus.amount,
|
||||
// String.format("%.1f", bolusHoursAgo) + getString(R.string.hoursago), DateUtil.timeString(bolus.timestamp)));
|
||||
}
|
||||
} else {
|
||||
lastBolusView.setText("");
|
||||
}
|
||||
|
||||
// base basal rate
|
||||
baseBasalRate.setText(MainApp.gs(R.string.pump_basebasalrate, plugin.getBaseBasalRate()));
|
||||
|
||||
|
|
|
@ -413,6 +413,11 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf
|
|||
if (result.reservoirLevel != PumpState.UNKNOWN) {
|
||||
pump.reservoirLevel = result.reservoirLevel;
|
||||
}
|
||||
if (result.lastBolus != null) {
|
||||
pump.lastBolus = result.lastBolus;
|
||||
} else if (result.history != null && !result.history.bolusHistory.isEmpty()) {
|
||||
pump.lastBolus = result.history.bolusHistory.get(0);
|
||||
}
|
||||
if (result.state.menu != null) {
|
||||
pump.state = result.state;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
package info.nightscout.androidaps.plugins.PumpCombo;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.jotomo.ruffy.spi.BasalProfile;
|
||||
import de.jotomo.ruffy.spi.PumpState;
|
||||
import de.jotomo.ruffy.spi.history.Bolus;
|
||||
import de.jotomo.ruffy.spi.history.PumpAlert;
|
||||
import de.jotomo.ruffy.spi.history.Tdd;
|
||||
|
||||
|
@ -20,6 +22,8 @@ class ComboPump {
|
|||
volatile int reservoirLevel = -1;
|
||||
@NonNull
|
||||
volatile BasalProfile basalProfile = new BasalProfile();
|
||||
@Nullable
|
||||
volatile Bolus lastBolus;
|
||||
|
||||
// Alert and TDD histories are not stored in DB, but are read on demand and just cached here
|
||||
List<PumpAlert> errorHistory = new ArrayList<>(0);
|
||||
|
|
|
@ -236,7 +236,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- reading last bolus from pump triggers pump bug
|
||||
<View
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="2dip"
|
||||
|
@ -281,7 +280,6 @@
|
|||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
-->
|
||||
|
||||
<View
|
||||
android:layout_width="fill_parent"
|
||||
|
|
|
@ -479,7 +479,7 @@ public class RuffyScripter implements RuffyCommands {
|
|||
}
|
||||
|
||||
/**
|
||||
* This reads the state of the, which is whatever is currently displayed on the display,
|
||||
* This reads the state of the pump, which is whatever is currently displayed on the display,
|
||||
* no actions are performed.
|
||||
*/
|
||||
public PumpState readPumpStateInternal() {
|
||||
|
|
Loading…
Reference in a new issue