consolidate DecimalFormatters
This commit is contained in:
parent
f7715a3409
commit
4dff8bc6af
14 changed files with 79 additions and 109 deletions
|
@ -2,24 +2,20 @@ package info.nightscout.androidaps.db;
|
||||||
|
|
||||||
import com.j256.ormlite.field.DatabaseField;
|
import com.j256.ormlite.field.DatabaseField;
|
||||||
import com.j256.ormlite.table.DatabaseTable;
|
import com.j256.ormlite.table.DatabaseTable;
|
||||||
import com.jjoe64.graphview.series.DataPoint;
|
|
||||||
import com.jjoe64.graphview.series.DataPointInterface;
|
import com.jjoe64.graphview.series.DataPointInterface;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Constants;
|
import info.nightscout.androidaps.Constants;
|
||||||
import info.nightscout.client.data.NSCal;
|
|
||||||
import info.nightscout.client.data.NSSgv;
|
import info.nightscout.client.data.NSSgv;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
@DatabaseTable(tableName = "BgReadings")
|
@DatabaseTable(tableName = "BgReadings")
|
||||||
public class BgReading implements DataPointInterface {
|
public class BgReading implements DataPointInterface {
|
||||||
private static Logger log = LoggerFactory.getLogger(BgReading.class);
|
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() {
|
public long getTimeIndex() {
|
||||||
return timeIndex;
|
return timeIndex;
|
||||||
|
@ -62,8 +58,8 @@ public class BgReading implements DataPointInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String valueToUnitsToString(String units) {
|
public String valueToUnitsToString(String units) {
|
||||||
if (units.equals(Constants.MGDL)) return mgdlFormat.format(value);
|
if (units.equals(Constants.MGDL)) return DecimalFormatter.to0Decimal(value);
|
||||||
else return mmolFormat.format(value * Constants.MGDL_TO_MMOLL);
|
else return DecimalFormatter.to0Decimal(value * Constants.MGDL_TO_MMOLL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,11 +1,5 @@
|
||||||
package info.nightscout.androidaps.db;
|
package info.nightscout.androidaps.db;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.database.DatabaseUtils;
|
import android.database.DatabaseUtils;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
@ -26,7 +20,11 @@ import com.j256.ormlite.table.TableUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Config;
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Constants;
|
import info.nightscout.androidaps.Constants;
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
|
|
|
@ -7,17 +7,14 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.MainActivity;
|
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.data.Iob;
|
import info.nightscout.androidaps.data.Iob;
|
||||||
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
@DatabaseTable(tableName = "TempBasals")
|
@DatabaseTable(tableName = "TempBasals")
|
||||||
public class TempBasal {
|
public class TempBasal {
|
||||||
|
@ -187,10 +184,9 @@ public class TempBasal {
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
DateFormat formatDateToJustTime = new SimpleDateFormat("HH:mm");
|
DateFormat formatDateToJustTime = new SimpleDateFormat("HH:mm");
|
||||||
DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
|
|
||||||
if (isAbsolute) {
|
if (isAbsolute) {
|
||||||
return formatNumber2decimalplaces.format(absolute) + "U/h @" +
|
return DecimalFormatter.to2Decimal(absolute) + "U/h @" +
|
||||||
formatDateToJustTime.format(timeStart) +
|
formatDateToJustTime.format(timeStart) +
|
||||||
" " + getRealDuration() + "/" + duration + "min";
|
" " + getRealDuration() + "/" + duration + "min";
|
||||||
} else { // percent
|
} else { // percent
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Config;
|
import info.nightscout.androidaps.Config;
|
||||||
|
@ -46,6 +45,7 @@ import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatu
|
||||||
import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus;
|
import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
import info.nightscout.utils.DateUtil;
|
import info.nightscout.utils.DateUtil;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
import info.nightscout.utils.Round;
|
import info.nightscout.utils.Round;
|
||||||
import info.nightscout.utils.SetWarnColor;
|
import info.nightscout.utils.SetWarnColor;
|
||||||
|
|
||||||
|
@ -709,9 +709,6 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateGUI() {
|
private void updateGUI() {
|
||||||
final DecimalFormat formatNumber0decimalplaces = new DecimalFormat("0");
|
|
||||||
final DecimalFormat formatNumber1decimalplaces = new DecimalFormat("0.0");
|
|
||||||
final DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
final DateFormat formatTime = DateFormat.getTimeInstance(DateFormat.SHORT);
|
final DateFormat formatTime = DateFormat.getTimeInstance(DateFormat.SHORT);
|
||||||
|
|
||||||
Activity activity = getActivity();
|
Activity activity = getActivity();
|
||||||
|
@ -730,13 +727,13 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
||||||
Long agoMsec = new Date().getTime() - getDanaRPump().lastBolusTime.getTime();
|
Long agoMsec = new Date().getTime() - getDanaRPump().lastBolusTime.getTime();
|
||||||
int agoHours = (int) (agoMsec / 60d / 60d / 1000d);
|
int agoHours = (int) (agoMsec / 60d / 60d / 1000d);
|
||||||
if (agoHours < 6) // max 6h back
|
if (agoHours < 6) // max 6h back
|
||||||
lastBolusView.setText(formatTime.format(getDanaRPump().lastBolusTime) + " (" + formatNumber1decimalplaces.format(agoHours) + " " + getString(R.string.hoursago) + ") " + formatNumber2decimalplaces.format(getDanaRPump().lastBolusAmount) + " U");
|
lastBolusView.setText(formatTime.format(getDanaRPump().lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(getDanaRPump().lastBolusAmount) + " U");
|
||||||
else lastBolusView.setText("");
|
else lastBolusView.setText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
dailyUnitsView.setText(formatNumber0decimalplaces.format(getDanaRPump().dailyTotalUnits) + " / " + getDanaRPump().maxDailyTotalUnits + " U");
|
dailyUnitsView.setText(DecimalFormatter.to0Decimal(getDanaRPump().dailyTotalUnits) + " / " + getDanaRPump().maxDailyTotalUnits + " U");
|
||||||
SetWarnColor.setColor(dailyUnitsView, getDanaRPump().dailyTotalUnits, getDanaRPump().maxDailyTotalUnits * 0.75d, getDanaRPump().maxDailyTotalUnits * 0.9d);
|
SetWarnColor.setColor(dailyUnitsView, getDanaRPump().dailyTotalUnits, getDanaRPump().maxDailyTotalUnits * 0.75d, getDanaRPump().maxDailyTotalUnits * 0.9d);
|
||||||
basaBasalRateView.setText("( " + (getDanaRPump().activeProfile + 1) + " ) " + formatNumber2decimalplaces.format(getBaseBasalRate()) + " U/h");
|
basaBasalRateView.setText("( " + (getDanaRPump().activeProfile + 1) + " ) " + DecimalFormatter.to2Decimal(getBaseBasalRate()) + " U/h");
|
||||||
if (isRealTempBasalInProgress()) {
|
if (isRealTempBasalInProgress()) {
|
||||||
tempBasalView.setText(getRealTempBasal().toString());
|
tempBasalView.setText(getRealTempBasal().toString());
|
||||||
} else {
|
} else {
|
||||||
|
@ -747,7 +744,7 @@ public class DanaRFragment extends Fragment implements PluginBase, PumpInterface
|
||||||
} else {
|
} else {
|
||||||
extendedBolusView.setText("");
|
extendedBolusView.setText("");
|
||||||
}
|
}
|
||||||
reservoirView.setText(formatNumber0decimalplaces.format(getDanaRPump().reservoirRemainingUnits) + " / 300 U");
|
reservoirView.setText(DecimalFormatter.to0Decimal(getDanaRPump().reservoirRemainingUnits) + " / 300 U");
|
||||||
SetWarnColor.setColorInverse(reservoirView, getDanaRPump().reservoirRemainingUnits, 50d, 20d);
|
SetWarnColor.setColorInverse(reservoirView, getDanaRPump().reservoirRemainingUnits, 50d, 20d);
|
||||||
batteryView.setText("{fa-battery-" + (getDanaRPump().batteryRemaining / 25) + "}");
|
batteryView.setText("{fa-battery-" + (getDanaRPump().batteryRemaining / 25) + "}");
|
||||||
SetWarnColor.setColorInverse(reservoirView, getDanaRPump().batteryRemaining, 51d, 26d);
|
SetWarnColor.setColorInverse(reservoirView, getDanaRPump().batteryRemaining, 51d, 26d);
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package info.nightscout.androidaps.plugins.DanaR.Dialogs;
|
package info.nightscout.androidaps.plugins.DanaR.Dialogs;
|
||||||
|
|
||||||
import android.support.v4.app.DialogFragment;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
|
import android.support.v4.app.DialogFragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -13,13 +13,13 @@ import android.widget.TextView;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import info.nightscout.androidaps.MainActivity;
|
import info.nightscout.androidaps.MainActivity;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
import info.nightscout.androidaps.plugins.DanaR.DanaRFragment;
|
import info.nightscout.androidaps.plugins.DanaR.DanaRFragment;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by mike on 10.07.2016.
|
* Created by mike on 10.07.2016.
|
||||||
|
@ -38,8 +38,6 @@ public class ProfileViewDialog extends DialogFragment {
|
||||||
|
|
||||||
private static Button refreshButton;
|
private static Button refreshButton;
|
||||||
|
|
||||||
private static DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
|
|
||||||
Handler mHandler;
|
Handler mHandler;
|
||||||
static HandlerThread mHandlerThread;
|
static HandlerThread mHandlerThread;
|
||||||
|
|
||||||
|
@ -96,7 +94,7 @@ public class ProfileViewDialog extends DialogFragment {
|
||||||
noProfile.setVisibility(View.GONE);
|
noProfile.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
units.setText(profile.getUnits());
|
units.setText(profile.getUnits());
|
||||||
dia.setText(formatNumber2decimalplaces.format(profile.getDia()) + " h");
|
dia.setText(DecimalFormatter.to2Decimal(profile.getDia()) + " h");
|
||||||
activeProfile.setText(profile.getActiveProfile());
|
activeProfile.setText(profile.getActiveProfile());
|
||||||
ic.setText(profile.getIcList());
|
ic.setText(profile.getIcList());
|
||||||
isf.setText(profile.getIsfList());
|
isf.setText(profile.getIsfList());
|
||||||
|
|
|
@ -5,15 +5,13 @@ import com.squareup.otto.Bus;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.Config;
|
import info.nightscout.androidaps.Config;
|
||||||
import info.nightscout.androidaps.db.Treatment;
|
import info.nightscout.androidaps.db.Treatment;
|
||||||
import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRBolusProgress;
|
import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRBolusProgress;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
public class MsgBolusProgress extends DanaRMessage {
|
public class MsgBolusProgress extends DanaRMessage {
|
||||||
private static Logger log = LoggerFactory.getLogger(MsgBolusProgress.class);
|
private static Logger log = LoggerFactory.getLogger(MsgBolusProgress.class);
|
||||||
public static final DecimalFormat bolusNumberFormat = new DecimalFormat("0.0");
|
|
||||||
private static Bus bus = null;
|
private static Bus bus = null;
|
||||||
|
|
||||||
private static Treatment t;
|
private static Treatment t;
|
||||||
|
@ -38,7 +36,7 @@ public class MsgBolusProgress extends DanaRMessage {
|
||||||
Double done = (amount * 100 - progress) / 100d;
|
Double done = (amount * 100 - progress) / 100d;
|
||||||
t.insulin = done;
|
t.insulin = done;
|
||||||
EventDanaRBolusProgress bolusingEvent = EventDanaRBolusProgress.getInstance();
|
EventDanaRBolusProgress bolusingEvent = EventDanaRBolusProgress.getInstance();
|
||||||
bolusingEvent.sStatus = "Delivering " + bolusNumberFormat.format(done) + "U";
|
bolusingEvent.sStatus = "Delivering " + DecimalFormatter.to1Decimal(done) + "U";
|
||||||
bolusingEvent.t = t;
|
bolusingEvent.t = t;
|
||||||
|
|
||||||
if (Config.logDanaMessageDetail) {
|
if (Config.logDanaMessageDetail) {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package info.nightscout.androidaps.plugins.Loop;
|
package info.nightscout.androidaps.plugins.Loop;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
|
@ -9,8 +8,6 @@ import android.text.Spanned;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
import info.nightscout.utils.DecimalFormatter;
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
|
@ -17,18 +17,17 @@ import android.widget.TextView;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Config;
|
import info.nightscout.androidaps.Config;
|
||||||
import info.nightscout.androidaps.Constants;
|
import info.nightscout.androidaps.Constants;
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
import info.nightscout.androidaps.interfaces.PumpInterface;
|
|
||||||
import info.nightscout.androidaps.db.DatabaseHelper;
|
import info.nightscout.androidaps.db.DatabaseHelper;
|
||||||
import info.nightscout.androidaps.interfaces.APSInterface;
|
import info.nightscout.androidaps.interfaces.APSInterface;
|
||||||
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
|
import info.nightscout.androidaps.interfaces.PumpInterface;
|
||||||
|
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
import info.nightscout.utils.DecimalFormatter;
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
import info.nightscout.utils.SafeParse;
|
import info.nightscout.utils.SafeParse;
|
||||||
|
|
|
@ -19,8 +19,6 @@ import org.json.JSONObject;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.Config;
|
import info.nightscout.androidaps.Config;
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
|
@ -29,6 +27,7 @@ import info.nightscout.androidaps.events.EventNewBasalProfile;
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
import info.nightscout.androidaps.interfaces.ProfileInterface;
|
import info.nightscout.androidaps.interfaces.ProfileInterface;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
public class NSProfileViewerFragment extends Fragment implements PluginBase, ProfileInterface {
|
public class NSProfileViewerFragment extends Fragment implements PluginBase, ProfileInterface {
|
||||||
private static Logger log = LoggerFactory.getLogger(NSProfileViewerFragment.class);
|
private static Logger log = LoggerFactory.getLogger(NSProfileViewerFragment.class);
|
||||||
|
@ -42,8 +41,6 @@ public class NSProfileViewerFragment extends Fragment implements PluginBase, Pro
|
||||||
private static TextView basal;
|
private static TextView basal;
|
||||||
private static TextView target;
|
private static TextView target;
|
||||||
|
|
||||||
private static DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
|
|
||||||
boolean fragmentEnabled = true;
|
boolean fragmentEnabled = true;
|
||||||
boolean fragmentVisible = true;
|
boolean fragmentVisible = true;
|
||||||
|
|
||||||
|
@ -126,7 +123,7 @@ public class NSProfileViewerFragment extends Fragment implements PluginBase, Pro
|
||||||
noProfile.setVisibility(View.GONE);
|
noProfile.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
units.setText(profile.getUnits());
|
units.setText(profile.getUnits());
|
||||||
dia.setText(formatNumber2decimalplaces.format(profile.getDia()) + " h");
|
dia.setText(DecimalFormatter.to2Decimal(profile.getDia()) + " h");
|
||||||
activeProfile.setText(profile.getActiveProfile());
|
activeProfile.setText(profile.getActiveProfile());
|
||||||
ic.setText(profile.getIcList());
|
ic.setText(profile.getIcList());
|
||||||
isf.setText(profile.getIsfList());
|
isf.setText(profile.getIsfList());
|
||||||
|
|
|
@ -8,8 +8,12 @@ import android.support.v4.app.DialogFragment;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.view.*;
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.view.Window;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
import android.widget.CompoundButton;
|
import android.widget.CompoundButton;
|
||||||
|
@ -27,7 +31,11 @@ import info.nightscout.androidaps.interfaces.TempBasalsInterface;
|
||||||
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
|
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
|
||||||
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
import info.nightscout.utils.*;
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
import info.nightscout.utils.PlusMinusEditText;
|
||||||
|
import info.nightscout.utils.Round;
|
||||||
|
import info.nightscout.utils.SafeParse;
|
||||||
|
import info.nightscout.utils.ToastUtils;
|
||||||
|
|
||||||
// TODO: wizard upload top NS calculation
|
// TODO: wizard upload top NS calculation
|
||||||
// TODO: add carbtime
|
// TODO: add carbtime
|
||||||
|
@ -52,9 +60,6 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
|
||||||
PlusMinusEditText editCarbs;
|
PlusMinusEditText editCarbs;
|
||||||
PlusMinusEditText editCorr;
|
PlusMinusEditText editCorr;
|
||||||
|
|
||||||
public static final DecimalFormat numberFormat = new DecimalFormat("0.00");
|
|
||||||
public static final DecimalFormat intFormat = new DecimalFormat("0");
|
|
||||||
|
|
||||||
Integer calculatedCarbs = 0;
|
Integer calculatedCarbs = 0;
|
||||||
Double calculatedTotalInsulin = 0d;
|
Double calculatedTotalInsulin = 0d;
|
||||||
|
|
||||||
|
@ -222,8 +227,8 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
|
||||||
bgDiff = lastBgValue - targetBGHigh;
|
bgDiff = lastBgValue - targetBGHigh;
|
||||||
}
|
}
|
||||||
|
|
||||||
bg.setText(lastBg.valueToUnitsToString(units) + " ISF: " + intFormat.format(sens));
|
bg.setText(lastBg.valueToUnitsToString(units) + " ISF: " + DecimalFormatter.to0Decimal(sens));
|
||||||
bgInsulin.setText(numberFormat.format(bgDiff / sens) + "U");
|
bgInsulin.setText(DecimalFormatter.to2Decimal(bgDiff / sens) + "U");
|
||||||
bgInput.removeTextChangedListener(textWatcher);
|
bgInput.removeTextChangedListener(textWatcher);
|
||||||
//bgInput.setText(lastBg.valueToUnitsToString(units));
|
//bgInput.setText(lastBg.valueToUnitsToString(units));
|
||||||
editBg.setValue(lastBg.valueToUnits(units));
|
editBg.setValue(lastBg.valueToUnits(units));
|
||||||
|
@ -245,8 +250,8 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
|
||||||
IobTotal bolusIob = treatments.getLastCalculation();
|
IobTotal bolusIob = treatments.getLastCalculation();
|
||||||
IobTotal basalIob = tempBasals.getLastCalculation();
|
IobTotal basalIob = tempBasals.getLastCalculation();
|
||||||
|
|
||||||
bolusIobInsulin.setText("-" + numberFormat.format(bolusIob.iob) + "U");
|
bolusIobInsulin.setText("-" + DecimalFormatter.to2Decimal(bolusIob.iob) + "U");
|
||||||
basalIobInsulin.setText("-" + numberFormat.format(basalIob.basaliob) + "U");
|
basalIobInsulin.setText("-" + DecimalFormatter.to2Decimal(basalIob.basaliob) + "U");
|
||||||
|
|
||||||
totalInsulin.setText("");
|
totalInsulin.setText("");
|
||||||
wizardDialogDeliverButton.setVisibility(Button.INVISIBLE);
|
wizardDialogDeliverButton.setVisibility(Button.INVISIBLE);
|
||||||
|
@ -291,14 +296,14 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
|
||||||
bgDiff = c_bg - targetBGHigh;
|
bgDiff = c_bg - targetBGHigh;
|
||||||
}
|
}
|
||||||
Double insulinFromBG = (bgCheckbox.isChecked() && c_bg != 0d) ? bgDiff / sens : 0d;
|
Double insulinFromBG = (bgCheckbox.isChecked() && c_bg != 0d) ? bgDiff / sens : 0d;
|
||||||
bg.setText(c_bg + " ISF: " + intFormat.format(sens));
|
bg.setText(c_bg + " ISF: " + DecimalFormatter.to0Decimal(sens));
|
||||||
bgInsulin.setText(numberFormat.format(insulinFromBG) + "U");
|
bgInsulin.setText(DecimalFormatter.to2Decimal(insulinFromBG) + "U");
|
||||||
|
|
||||||
// Insuling from carbs
|
// Insuling from carbs
|
||||||
Double ic = profile.getIc(NSProfile.secondsFromMidnight());
|
Double ic = profile.getIc(NSProfile.secondsFromMidnight());
|
||||||
Double insulinFromCarbs = c_carbs / ic;
|
Double insulinFromCarbs = c_carbs / ic;
|
||||||
carbs.setText(intFormat.format(c_carbs) + "g IC: " + intFormat.format(ic));
|
carbs.setText(DecimalFormatter.to0Decimal(c_carbs) + "g IC: " + DecimalFormatter.to0Decimal(ic));
|
||||||
carbsInsulin.setText(numberFormat.format(insulinFromCarbs) + "U");
|
carbsInsulin.setText(DecimalFormatter.to2Decimal(insulinFromCarbs) + "U");
|
||||||
|
|
||||||
// Insulin from IOB
|
// Insulin from IOB
|
||||||
TreatmentsInterface treatments = MainApp.getConfigBuilder().getActiveTreatments();
|
TreatmentsInterface treatments = MainApp.getConfigBuilder().getActiveTreatments();
|
||||||
|
@ -310,32 +315,32 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
|
||||||
|
|
||||||
Double insulingFromBolusIOB = bolusIobCheckbox.isChecked() ? -bolusIob.iob : 0d;
|
Double insulingFromBolusIOB = bolusIobCheckbox.isChecked() ? -bolusIob.iob : 0d;
|
||||||
Double insulingFromBasalsIOB = basalIobCheckbox.isChecked() ? -basalIob.basaliob : 0d;
|
Double insulingFromBasalsIOB = basalIobCheckbox.isChecked() ? -basalIob.basaliob : 0d;
|
||||||
bolusIobInsulin.setText(numberFormat.format(insulingFromBolusIOB) + "U");
|
bolusIobInsulin.setText(DecimalFormatter.to2Decimal(insulingFromBolusIOB) + "U");
|
||||||
basalIobInsulin.setText(numberFormat.format(insulingFromBasalsIOB) + "U");
|
basalIobInsulin.setText(DecimalFormatter.to2Decimal(insulingFromBasalsIOB) + "U");
|
||||||
|
|
||||||
// Insulin from correction
|
// Insulin from correction
|
||||||
Double insulinFromCorrection = corrAfterConstraint;
|
Double insulinFromCorrection = corrAfterConstraint;
|
||||||
correctionInsulin.setText(numberFormat.format(insulinFromCorrection) + "U");
|
correctionInsulin.setText(DecimalFormatter.to2Decimal(insulinFromCorrection) + "U");
|
||||||
|
|
||||||
// Total
|
// Total
|
||||||
calculatedTotalInsulin = insulinFromBG + insulinFromCarbs + insulingFromBolusIOB + insulingFromBasalsIOB + insulinFromCorrection;
|
calculatedTotalInsulin = insulinFromBG + insulinFromCarbs + insulingFromBolusIOB + insulingFromBasalsIOB + insulinFromCorrection;
|
||||||
|
|
||||||
if (calculatedTotalInsulin < 0) {
|
if (calculatedTotalInsulin < 0) {
|
||||||
Double carbsEquivalent = -calculatedTotalInsulin * ic;
|
Double carbsEquivalent = -calculatedTotalInsulin * ic;
|
||||||
total.setText(getString(R.string.missing) + " " + intFormat.format(carbsEquivalent) + "g");
|
total.setText(getString(R.string.missing) + " " + DecimalFormatter.to0Decimal(carbsEquivalent) + "g");
|
||||||
calculatedTotalInsulin = 0d;
|
calculatedTotalInsulin = 0d;
|
||||||
totalInsulin.setText("");
|
totalInsulin.setText("");
|
||||||
} else {
|
} else {
|
||||||
calculatedTotalInsulin = Round.roundTo(calculatedTotalInsulin, 0.05d);
|
calculatedTotalInsulin = Round.roundTo(calculatedTotalInsulin, 0.05d);
|
||||||
total.setText("");
|
total.setText("");
|
||||||
totalInsulin.setText(numberFormat.format(calculatedTotalInsulin) + "U");
|
totalInsulin.setText(DecimalFormatter.to2Decimal(calculatedTotalInsulin) + "U");
|
||||||
}
|
}
|
||||||
|
|
||||||
calculatedCarbs = c_carbs;
|
calculatedCarbs = c_carbs;
|
||||||
|
|
||||||
if (calculatedTotalInsulin > 0d || calculatedCarbs > 0d) {
|
if (calculatedTotalInsulin > 0d || calculatedCarbs > 0d) {
|
||||||
String insulinText = calculatedTotalInsulin > 0d ? (numberFormat.format(calculatedTotalInsulin) + "U") : "";
|
String insulinText = calculatedTotalInsulin > 0d ? (DecimalFormatter.to2Decimal(calculatedTotalInsulin) + "U") : "";
|
||||||
String carbsText = calculatedCarbs > 0d ? (intFormat.format(calculatedCarbs) + "g") : "";
|
String carbsText = calculatedCarbs > 0d ? (DecimalFormatter.to0Decimal(calculatedCarbs) + "g") : "";
|
||||||
wizardDialogDeliverButton.setText(getString(R.string.send) + " " + insulinText + " " + carbsText);
|
wizardDialogDeliverButton.setText(getString(R.string.send) + " " + insulinText + " " + carbsText);
|
||||||
wizardDialogDeliverButton.setVisibility(Button.VISIBLE);
|
wizardDialogDeliverButton.setVisibility(Button.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -29,7 +29,6 @@ import com.squareup.otto.Subscribe;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -61,6 +60,7 @@ import info.nightscout.androidaps.plugins.Overview.Dialogs.NewTempBasalDialog;
|
||||||
import info.nightscout.androidaps.plugins.Overview.Dialogs.NewTreatmentDialog;
|
import info.nightscout.androidaps.plugins.Overview.Dialogs.NewTreatmentDialog;
|
||||||
import info.nightscout.androidaps.plugins.Overview.Dialogs.WizardDialog;
|
import info.nightscout.androidaps.plugins.Overview.Dialogs.WizardDialog;
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
import info.nightscout.utils.Round;
|
import info.nightscout.utils.Round;
|
||||||
|
|
||||||
|
|
||||||
|
@ -389,7 +389,6 @@ public class OverviewFragment extends Fragment implements PluginBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateGUI() {
|
public void updateGUI() {
|
||||||
DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
BgReading actualBG = MainApp.getDbHelper().actualBg();
|
BgReading actualBG = MainApp.getDbHelper().actualBg();
|
||||||
BgReading lastBG = MainApp.getDbHelper().lastBg();
|
BgReading lastBG = MainApp.getDbHelper().lastBg();
|
||||||
if (MainApp.getConfigBuilder() == null || MainApp.getConfigBuilder().getActiveProfile() == null) // app not initialized yet
|
if (MainApp.getConfigBuilder() == null || MainApp.getConfigBuilder().getActiveProfile() == null) // app not initialized yet
|
||||||
|
@ -437,7 +436,7 @@ public class OverviewFragment extends Fragment implements PluginBase {
|
||||||
cancelTempLayout.setVisibility(View.GONE);
|
cancelTempLayout.setVisibility(View.GONE);
|
||||||
setTempLayout.setVisibility(View.VISIBLE);
|
setTempLayout.setVisibility(View.VISIBLE);
|
||||||
Double currentBasal = pump.getBaseBasalRate();
|
Double currentBasal = pump.getBaseBasalRate();
|
||||||
runningTempView.setText(formatNumber2decimalplaces.format(currentBasal) + " U/h");
|
runningTempView.setText(DecimalFormatter.to2Decimal(currentBasal) + " U/h");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile == null) {
|
if (profile == null) {
|
||||||
|
@ -486,9 +485,9 @@ public class OverviewFragment extends Fragment implements PluginBase {
|
||||||
if (basalIob == null) basalIob = new IobTotal();
|
if (basalIob == null) basalIob = new IobTotal();
|
||||||
IobTotal iobTotal = IobTotal.combine(bolusIob, basalIob).round();
|
IobTotal iobTotal = IobTotal.combine(bolusIob, basalIob).round();
|
||||||
|
|
||||||
String iobtext = getString(R.string.treatments_iob_label_string) + " " + formatNumber2decimalplaces.format(iobTotal.iob) + "U ("
|
String iobtext = getString(R.string.treatments_iob_label_string) + " " + DecimalFormatter.to2Decimal(iobTotal.iob) + "U ("
|
||||||
+ getString(R.string.bolus) + ": " + formatNumber2decimalplaces.format(bolusIob.iob) + "U "
|
+ getString(R.string.bolus) + ": " + DecimalFormatter.to2Decimal(bolusIob.iob) + "U "
|
||||||
+ getString(R.string.basal) + ": " + formatNumber2decimalplaces.format(basalIob.basaliob) + "U)";
|
+ getString(R.string.basal) + ": " + DecimalFormatter.to2Decimal(basalIob.basaliob) + "U)";
|
||||||
iobView.setText(iobtext);
|
iobView.setText(iobtext);
|
||||||
|
|
||||||
// ****** GRAPH *******
|
// ****** GRAPH *******
|
||||||
|
|
|
@ -6,7 +6,9 @@ import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.support.v7.widget.*;
|
import android.support.v7.widget.CardView;
|
||||||
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -24,7 +26,6 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
@ -37,9 +38,10 @@ import info.nightscout.androidaps.R;
|
||||||
import info.nightscout.androidaps.db.TempBasal;
|
import info.nightscout.androidaps.db.TempBasal;
|
||||||
import info.nightscout.androidaps.events.EventPreferenceChange;
|
import info.nightscout.androidaps.events.EventPreferenceChange;
|
||||||
import info.nightscout.androidaps.events.EventTempBasalChange;
|
import info.nightscout.androidaps.events.EventTempBasalChange;
|
||||||
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
|
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
|
||||||
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
|
|
||||||
public class TempBasalsFragment extends Fragment implements PluginBase, TempBasalsInterface {
|
public class TempBasalsFragment extends Fragment implements PluginBase, TempBasalsInterface {
|
||||||
|
@ -53,10 +55,6 @@ public class TempBasalsFragment extends Fragment implements PluginBase, TempBasa
|
||||||
public long lastCalculationTimestamp = 0;
|
public long lastCalculationTimestamp = 0;
|
||||||
public IobTotal lastCalculation;
|
public IobTotal lastCalculation;
|
||||||
|
|
||||||
private static DecimalFormat formatNumber0decimalplaces = new DecimalFormat("0");
|
|
||||||
private static DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
private static DecimalFormat formatNumber3decimalplaces = new DecimalFormat("0.000");
|
|
||||||
|
|
||||||
private List<TempBasal> tempBasals;
|
private List<TempBasal> tempBasals;
|
||||||
private List<TempBasal> extendedBoluses;
|
private List<TempBasal> extendedBoluses;
|
||||||
|
|
||||||
|
@ -269,19 +267,19 @@ public class TempBasalsFragment extends Fragment implements PluginBase, TempBasa
|
||||||
} else {
|
} else {
|
||||||
holder.date.setText(df.format(tempBasal.timeStart));
|
holder.date.setText(df.format(tempBasal.timeStart));
|
||||||
}
|
}
|
||||||
holder.duration.setText(formatNumber0decimalplaces.format(tempBasal.duration) + " min");
|
holder.duration.setText(DecimalFormatter.to0Decimal(tempBasal.duration) + " min");
|
||||||
if (tempBasal.isAbsolute) {
|
if (tempBasal.isAbsolute) {
|
||||||
holder.absolute.setText(formatNumber0decimalplaces.format(tempBasal.absolute) + " U/h");
|
holder.absolute.setText(DecimalFormatter.to0Decimal(tempBasal.absolute) + " U/h");
|
||||||
holder.percent.setText("");
|
holder.percent.setText("");
|
||||||
} else {
|
} else {
|
||||||
holder.absolute.setText("");
|
holder.absolute.setText("");
|
||||||
holder.percent.setText(formatNumber0decimalplaces.format(tempBasal.percent) + "%");
|
holder.percent.setText(DecimalFormatter.to0Decimal(tempBasal.percent) + "%");
|
||||||
}
|
}
|
||||||
holder.realDuration.setText(formatNumber0decimalplaces.format(tempBasal.getRealDuration()) + " min");
|
holder.realDuration.setText(DecimalFormatter.to0Decimal(tempBasal.getRealDuration()) + " min");
|
||||||
IobTotal iob = tempBasal.iobCalc(new Date());
|
IobTotal iob = tempBasal.iobCalc(new Date());
|
||||||
holder.iob.setText(formatNumber2decimalplaces.format(iob.basaliob) + " U");
|
holder.iob.setText(DecimalFormatter.to2Decimal(iob.basaliob) + " U");
|
||||||
holder.netInsulin.setText(formatNumber2decimalplaces.format(iob.netInsulin) + " U");
|
holder.netInsulin.setText(DecimalFormatter.to2Decimal(iob.netInsulin) + " U");
|
||||||
holder.netRatio.setText(formatNumber2decimalplaces.format(iob.netRatio) + " U/h");
|
holder.netRatio.setText(DecimalFormatter.to2Decimal(iob.netRatio) + " U/h");
|
||||||
holder.extendedFlag.setVisibility(tempBasal.isExtended ? View.VISIBLE : View.GONE);
|
holder.extendedFlag.setVisibility(tempBasal.isExtended ? View.VISIBLE : View.GONE);
|
||||||
if (tempBasal.isInProgress())
|
if (tempBasal.isInProgress())
|
||||||
holder.dateLinearLayout.setBackgroundColor(MainApp.instance().getResources().getColor(R.color.colorInProgress));
|
holder.dateLinearLayout.setBackgroundColor(MainApp.instance().getResources().getColor(R.color.colorInProgress));
|
||||||
|
@ -417,7 +415,7 @@ public class TempBasalsFragment extends Fragment implements PluginBase, TempBasa
|
||||||
public void run() {
|
public void run() {
|
||||||
recyclerView.swapAdapter(new RecyclerViewAdapter(getMergedList()), false);
|
recyclerView.swapAdapter(new RecyclerViewAdapter(getMergedList()), false);
|
||||||
if (lastCalculation != null) {
|
if (lastCalculation != null) {
|
||||||
String totalText = formatNumber2decimalplaces.format(lastCalculation.basaliob) + " U";
|
String totalText = DecimalFormatter.to2Decimal(lastCalculation.basaliob) + " U";
|
||||||
tempBasalTotalView.setText(totalText);
|
tempBasalTotalView.setText(totalText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,24 +26,21 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.MainActivity;
|
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
|
import info.nightscout.androidaps.Services.Intents;
|
||||||
import info.nightscout.androidaps.data.Iob;
|
import info.nightscout.androidaps.data.Iob;
|
||||||
import info.nightscout.androidaps.db.Treatment;
|
import info.nightscout.androidaps.db.Treatment;
|
||||||
import info.nightscout.androidaps.events.EventNewBG;
|
|
||||||
import info.nightscout.androidaps.events.EventTreatmentChange;
|
import info.nightscout.androidaps.events.EventTreatmentChange;
|
||||||
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
|
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
|
||||||
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
import info.nightscout.androidaps.plugins.OpenAPSMA.IobTotal;
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
|
||||||
import info.nightscout.androidaps.Services.Intents;
|
|
||||||
import info.nightscout.client.data.NSProfile;
|
import info.nightscout.client.data.NSProfile;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
public class TreatmentsFragment extends Fragment implements View.OnClickListener, PluginBase, TreatmentsInterface {
|
public class TreatmentsFragment extends Fragment implements View.OnClickListener, PluginBase, TreatmentsInterface {
|
||||||
private static Logger log = LoggerFactory.getLogger(TreatmentsFragment.class);
|
private static Logger log = LoggerFactory.getLogger(TreatmentsFragment.class);
|
||||||
|
@ -58,10 +55,6 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
|
||||||
private long lastCalculationTimestamp = 0;
|
private long lastCalculationTimestamp = 0;
|
||||||
private IobTotal lastCalculation;
|
private IobTotal lastCalculation;
|
||||||
|
|
||||||
private static DecimalFormat formatNumber0decimalplaces = new DecimalFormat("0");
|
|
||||||
private static DecimalFormat formatNumber2decimalplaces = new DecimalFormat("0.00");
|
|
||||||
private static DecimalFormat formatNumber3decimalplaces = new DecimalFormat("0.000");
|
|
||||||
|
|
||||||
private List<Treatment> treatments;
|
private List<Treatment> treatments;
|
||||||
|
|
||||||
boolean fragmentEnabled = true;
|
boolean fragmentEnabled = true;
|
||||||
|
@ -211,11 +204,11 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
|
||||||
return;
|
return;
|
||||||
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
|
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
|
||||||
holder.date.setText(df.format(treatments.get(position).created_at));
|
holder.date.setText(df.format(treatments.get(position).created_at));
|
||||||
holder.insulin.setText(formatNumber2decimalplaces.format(treatments.get(position).insulin) + " U");
|
holder.insulin.setText(DecimalFormatter.to2Decimal(treatments.get(position).insulin) + " U");
|
||||||
holder.carbs.setText(formatNumber0decimalplaces.format(treatments.get(position).carbs) + " g");
|
holder.carbs.setText(DecimalFormatter.to0Decimal(treatments.get(position).carbs) + " g");
|
||||||
Iob iob = treatments.get(position).iobCalc(new Date(), profile.getDia());
|
Iob iob = treatments.get(position).iobCalc(new Date(), profile.getDia());
|
||||||
holder.iob.setText(formatNumber2decimalplaces.format(iob.iobContrib) + " U");
|
holder.iob.setText(DecimalFormatter.to2Decimal(iob.iobContrib) + " U");
|
||||||
holder.activity.setText(formatNumber3decimalplaces.format(iob.activityContrib) + " U");
|
holder.activity.setText(DecimalFormatter.to3Decimal(iob.activityContrib) + " U");
|
||||||
if (iob.iobContrib != 0)
|
if (iob.iobContrib != 0)
|
||||||
holder.dateLinearLayout.setBackgroundColor(MainApp.instance().getResources().getColor(R.color.colorAffectingIOB));
|
holder.dateLinearLayout.setBackgroundColor(MainApp.instance().getResources().getColor(R.color.colorAffectingIOB));
|
||||||
else
|
else
|
||||||
|
@ -340,9 +333,9 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
|
||||||
public void run() {
|
public void run() {
|
||||||
recyclerView.swapAdapter(new RecyclerViewAdapter(treatments), false);
|
recyclerView.swapAdapter(new RecyclerViewAdapter(treatments), false);
|
||||||
if (lastCalculation != null)
|
if (lastCalculation != null)
|
||||||
iobTotal.setText(formatNumber2decimalplaces.format(lastCalculation.iob) + " U");
|
iobTotal.setText(DecimalFormatter.to2Decimal(lastCalculation.iob) + " U");
|
||||||
if (lastCalculation != null)
|
if (lastCalculation != null)
|
||||||
activityTotal.setText(formatNumber3decimalplaces.format(lastCalculation.activity) + " U");
|
activityTotal.setText(DecimalFormatter.to3Decimal(lastCalculation.activity) + " U");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import java.util.Iterator;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
import info.nightscout.androidaps.Constants;
|
import info.nightscout.androidaps.Constants;
|
||||||
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
public class NSProfile {
|
public class NSProfile {
|
||||||
private JSONObject json = null;
|
private JSONObject json = null;
|
||||||
|
@ -333,9 +334,7 @@ public class NSProfile {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String toUnitsString(Double valueInMgdl, Double valueInMmol, String units) {
|
public static String toUnitsString(Double valueInMgdl, Double valueInMmol, String units) {
|
||||||
DecimalFormat formatNumber0decimalplaces = new DecimalFormat("0");
|
if (units.equals(Constants.MGDL)) return DecimalFormatter.to0Decimal(valueInMgdl);
|
||||||
DecimalFormat formatNumber1decimalplaces = new DecimalFormat("0.0");
|
else return DecimalFormatter.to1Decimal(valueInMmol);
|
||||||
if (units.equals(Constants.MGDL)) return formatNumber0decimalplaces.format(valueInMgdl);
|
|
||||||
else return formatNumber1decimalplaces.format(valueInMmol);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue