AndroidAPS/app/src/main/java/info/nightscout/androidaps/db/BgReading.java

95 lines
2.4 KiB
Java
Raw Normal View History

2016-06-07 21:48:17 +02:00
package info.nightscout.androidaps.db;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
2016-06-09 00:01:28 +02:00
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.DataPointInterface;
2016-06-07 21:48:17 +02:00
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.DecimalFormat;
import java.util.Date;
import info.nightscout.androidaps.Constants;
import info.nightscout.client.data.NSCal;
import info.nightscout.client.data.NSSgv;
@DatabaseTable(tableName = "BgReadings")
2016-06-09 00:01:28 +02:00
public class BgReading implements DataPointInterface {
2016-06-07 21:48:17 +02:00
private static Logger log = LoggerFactory.getLogger(BgReading.class);
public static final DecimalFormat mmolFormat = new DecimalFormat("0.0");
public static final DecimalFormat mgdlFormat = new DecimalFormat("0");
public long getTimeIndex() {
return (long) Math.ceil(timestamp / 60000d);
}
public void setTimeIndex(long timeIndex) {
this.timestamp = timeIndex;
}
@DatabaseField(id = true, useGetSet = true)
public long timeIndex;
@DatabaseField
public long timestamp;
@DatabaseField
public double value;
@DatabaseField
public double slope;
@DatabaseField
public double raw;
@DatabaseField
public int battery_level;
2016-06-09 00:01:28 +02:00
public static String units = Constants.MGDL;
2016-06-07 21:48:17 +02:00
public BgReading() {}
public BgReading(NSSgv sgv) {
timestamp = sgv.getMills();
value = sgv.getMgdl();
raw = sgv.getFiltered();
}
public Double valueToUnits(String units) {
if (units.equals(Constants.MGDL))
return value;
else
return value * Constants.MGDL_TO_MMOLL;
}
public String valueToUnitsToString(String units) {
if (units.equals(Constants.MGDL)) return mgdlFormat.format(value);
else return mmolFormat.format(value * Constants.MGDL_TO_MMOLL);
}
@Override
public String toString() {
return "BgReading{" +
2016-06-07 21:48:17 +02:00
"timeIndex=" + timeIndex +
", timestamp=" + timestamp +
", date=" + new Date(timestamp) +
", value=" + value +
", slope=" + slope +
", raw=" + raw +
", battery_level=" + battery_level +
'}';
}
2016-06-09 00:01:28 +02:00
@Override
public double getX() {
return timestamp;
}
@Override
public double getY() {
return valueToUnits(units);
}
2016-06-07 21:48:17 +02:00
}