display UAM prediction
This commit is contained in:
parent
ec114c3b38
commit
f5143b2ec4
|
@ -1,16 +1,20 @@
|
||||||
package info.nightscout.androidaps.plugins.Loop;
|
package info.nightscout.androidaps.plugins.Loop;
|
||||||
|
|
||||||
import android.os.Parcel;
|
|
||||||
import android.os.Parcelable;
|
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import info.nightscout.androidaps.MainApp;
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.R;
|
import info.nightscout.androidaps.R;
|
||||||
import info.nightscout.androidaps.data.IobTotal;
|
import info.nightscout.androidaps.data.IobTotal;
|
||||||
|
import info.nightscout.androidaps.db.BgReading;
|
||||||
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
|
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
|
||||||
import info.nightscout.utils.DecimalFormatter;
|
import info.nightscout.utils.DecimalFormatter;
|
||||||
|
|
||||||
|
@ -18,11 +22,14 @@ import info.nightscout.utils.DecimalFormatter;
|
||||||
* Created by mike on 09.06.2016.
|
* Created by mike on 09.06.2016.
|
||||||
*/
|
*/
|
||||||
public class APSResult {
|
public class APSResult {
|
||||||
|
public Date date;
|
||||||
public String reason;
|
public String reason;
|
||||||
public double rate;
|
public double rate;
|
||||||
public int duration;
|
public int duration;
|
||||||
public boolean changeRequested = false;
|
public boolean changeRequested = false;
|
||||||
public IobTotal iob;
|
public IobTotal iob;
|
||||||
|
public JSONObject json = new JSONObject();
|
||||||
|
public boolean hasPredictions = false;
|
||||||
public double smb = 0d; // super micro bolus in units
|
public double smb = 0d; // super micro bolus in units
|
||||||
public long deliverAt = 0;
|
public long deliverAt = 0;
|
||||||
|
|
||||||
|
@ -34,7 +41,7 @@ public class APSResult {
|
||||||
return MainApp.sResources.getString(R.string.canceltemp);
|
return MainApp.sResources.getString(R.string.canceltemp);
|
||||||
else
|
else
|
||||||
return MainApp.sResources.getString(R.string.rate) + ": " + DecimalFormatter.to2Decimal(rate) + " U/h " +
|
return MainApp.sResources.getString(R.string.rate) + ": " + DecimalFormatter.to2Decimal(rate) + " U/h " +
|
||||||
"(" + DecimalFormatter.to2Decimal(rate/configBuilder.getBaseBasalRate() *100) + "%)\n" +
|
"(" + DecimalFormatter.to2Decimal(rate / configBuilder.getBaseBasalRate() * 100) + "%)\n" +
|
||||||
MainApp.sResources.getString(R.string.duration) + ": " + DecimalFormatter.to0Decimal(duration) + " min\n" +
|
MainApp.sResources.getString(R.string.duration) + ": " + DecimalFormatter.to0Decimal(duration) + " min\n" +
|
||||||
(smb != 0 ? ("SMB" + ": " + DecimalFormatter.to2Decimal(smb) + " U") : "") +
|
(smb != 0 ? ("SMB" + ": " + DecimalFormatter.to2Decimal(smb) + " U") : "") +
|
||||||
MainApp.sResources.getString(R.string.reason) + ": " + reason;
|
MainApp.sResources.getString(R.string.reason) + ": " + reason;
|
||||||
|
@ -49,7 +56,7 @@ public class APSResult {
|
||||||
if (rate == 0 && duration == 0) ret = MainApp.sResources.getString(R.string.canceltemp);
|
if (rate == 0 && duration == 0) ret = MainApp.sResources.getString(R.string.canceltemp);
|
||||||
else
|
else
|
||||||
ret = "<b>" + MainApp.sResources.getString(R.string.rate) + "</b>: " + DecimalFormatter.to2Decimal(rate) + " U/h " +
|
ret = "<b>" + MainApp.sResources.getString(R.string.rate) + "</b>: " + DecimalFormatter.to2Decimal(rate) + " U/h " +
|
||||||
"(" + DecimalFormatter.to2Decimal(rate/configBuilder.getBaseBasalRate() *100) + "%) <br>" +
|
"(" + DecimalFormatter.to2Decimal(rate / configBuilder.getBaseBasalRate() * 100) + "%) <br>" +
|
||||||
"<b>" + MainApp.sResources.getString(R.string.duration) + "</b>: " + DecimalFormatter.to2Decimal(duration) + " min<br>" +
|
"<b>" + MainApp.sResources.getString(R.string.duration) + "</b>: " + DecimalFormatter.to2Decimal(duration) + " min<br>" +
|
||||||
(smb != 0 ? ("<b>" + "SMB" + "</b>: " + DecimalFormatter.to2Decimal(smb) + " U") : "") +
|
(smb != 0 ? ("<b>" + "SMB" + "</b>: " + DecimalFormatter.to2Decimal(smb) + " U") : "") +
|
||||||
"<b>" + MainApp.sResources.getString(R.string.reason) + "</b>: " + reason.replace("<", "<").replace(">", ">");
|
"<b>" + MainApp.sResources.getString(R.string.reason) + "</b>: " + reason.replace("<", "<").replace(">", ">");
|
||||||
|
@ -84,4 +91,88 @@ public class APSResult {
|
||||||
}
|
}
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<BgReading> getPredictions() {
|
||||||
|
List<BgReading> array = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
long startTime = date.getTime();
|
||||||
|
if (json.has("predBGs")) {
|
||||||
|
JSONObject predBGs = json.getJSONObject("predBGs");
|
||||||
|
if (predBGs.has("IOB")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("IOB");
|
||||||
|
for (int i = 1; i < iob.length(); i++) {
|
||||||
|
BgReading bg = new BgReading();
|
||||||
|
bg.value = iob.getInt(i);
|
||||||
|
bg.date = startTime + i * 5 * 60 * 1000L;
|
||||||
|
bg.isPrediction = true;
|
||||||
|
array.add(bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (predBGs.has("aCOB")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("aCOB");
|
||||||
|
for (int i = 1; i < iob.length(); i++) {
|
||||||
|
BgReading bg = new BgReading();
|
||||||
|
bg.value = iob.getInt(i);
|
||||||
|
bg.date = startTime + i * 5 * 60 * 1000L;
|
||||||
|
bg.isPrediction = true;
|
||||||
|
array.add(bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (predBGs.has("COB")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("COB");
|
||||||
|
for (int i = 1; i < iob.length(); i++) {
|
||||||
|
BgReading bg = new BgReading();
|
||||||
|
bg.value = iob.getInt(i);
|
||||||
|
bg.date = startTime + i * 5 * 60 * 1000L;
|
||||||
|
bg.isPrediction = true;
|
||||||
|
array.add(bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (predBGs.has("UAM")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("UAM");
|
||||||
|
for (int i = 1; i < iob.length(); i++) {
|
||||||
|
BgReading bg = new BgReading();
|
||||||
|
bg.value = iob.getInt(i);
|
||||||
|
bg.date = startTime + i * 5 * 60 * 1000L;
|
||||||
|
bg.isPrediction = true;
|
||||||
|
array.add(bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getLatestPredictionsTime() {
|
||||||
|
long latest = 0;
|
||||||
|
try {
|
||||||
|
long startTime = date.getTime();
|
||||||
|
if (json.has("predBGs")) {
|
||||||
|
JSONObject predBGs = json.getJSONObject("predBGs");
|
||||||
|
if (predBGs.has("IOB")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("IOB");
|
||||||
|
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
||||||
|
}
|
||||||
|
if (predBGs.has("aCOB")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("aCOB");
|
||||||
|
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
||||||
|
}
|
||||||
|
if (predBGs.has("COB")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("COB");
|
||||||
|
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
||||||
|
}
|
||||||
|
if (predBGs.has("UAM")) {
|
||||||
|
JSONArray iob = predBGs.getJSONArray("UAM");
|
||||||
|
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return latest;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,25 +2,19 @@ package info.nightscout.androidaps.plugins.OpenAPSAMA;
|
||||||
|
|
||||||
import com.eclipsesource.v8.V8Object;
|
import com.eclipsesource.v8.V8Object;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.db.BgReading;
|
|
||||||
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
||||||
import info.nightscout.androidaps.data.IobTotal;
|
|
||||||
|
|
||||||
public class DetermineBasalResultAMA extends APSResult {
|
public class DetermineBasalResultAMA extends APSResult {
|
||||||
public Date date;
|
|
||||||
public JSONObject json = new JSONObject();
|
|
||||||
public double eventualBG;
|
public double eventualBG;
|
||||||
public double snoozeBG;
|
public double snoozeBG;
|
||||||
|
|
||||||
public DetermineBasalResultAMA(V8Object result, JSONObject j) {
|
public DetermineBasalResultAMA(V8Object result, JSONObject j) {
|
||||||
|
this();
|
||||||
date = new Date();
|
date = new Date();
|
||||||
json = j;
|
json = j;
|
||||||
if (result.contains("error")) {
|
if (result.contains("error")) {
|
||||||
|
@ -52,6 +46,7 @@ public class DetermineBasalResultAMA extends APSResult {
|
||||||
}
|
}
|
||||||
|
|
||||||
public DetermineBasalResultAMA() {
|
public DetermineBasalResultAMA() {
|
||||||
|
hasPredictions = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -87,72 +82,4 @@ public class DetermineBasalResultAMA extends APSResult {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<BgReading> getPredictions() {
|
|
||||||
List<BgReading> array = new ArrayList<>();
|
|
||||||
try {
|
|
||||||
long startTime = date.getTime();
|
|
||||||
if (json.has("predBGs")) {
|
|
||||||
JSONObject predBGs = json.getJSONObject("predBGs");
|
|
||||||
if (predBGs.has("IOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("IOB");
|
|
||||||
for (int i = 1; i < iob.length(); i ++) {
|
|
||||||
BgReading bg = new BgReading();
|
|
||||||
bg.value = iob.getInt(i);
|
|
||||||
bg.date = startTime + i * 5 * 60 * 1000L;
|
|
||||||
bg.isPrediction = true;
|
|
||||||
array.add(bg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (predBGs.has("aCOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("aCOB");
|
|
||||||
for (int i = 1; i < iob.length(); i ++) {
|
|
||||||
BgReading bg = new BgReading();
|
|
||||||
bg.value = iob.getInt(i);
|
|
||||||
bg.date = startTime + i * 5 * 60 * 1000L;
|
|
||||||
bg.isPrediction = true;
|
|
||||||
array.add(bg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (predBGs.has("COB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("COB");
|
|
||||||
for (int i = 1; i < iob.length(); i ++) {
|
|
||||||
BgReading bg = new BgReading();
|
|
||||||
bg.value = iob.getInt(i);
|
|
||||||
bg.date = startTime + i * 5 * 60 * 1000L;
|
|
||||||
bg.isPrediction = true;
|
|
||||||
array.add(bg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return array;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getLatestPredictionsTime() {
|
|
||||||
long latest = 0;
|
|
||||||
try {
|
|
||||||
long startTime = date.getTime();
|
|
||||||
if (json.has("predBGs")) {
|
|
||||||
JSONObject predBGs = json.getJSONObject("predBGs");
|
|
||||||
if (predBGs.has("IOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("IOB");
|
|
||||||
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
|
||||||
}
|
|
||||||
if (predBGs.has("aCOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("aCOB");
|
|
||||||
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
|
||||||
}
|
|
||||||
if (predBGs.has("COB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("COB");
|
|
||||||
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
return latest;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +1,19 @@
|
||||||
package info.nightscout.androidaps.plugins.OpenAPSSMB;
|
package info.nightscout.androidaps.plugins.OpenAPSSMB;
|
||||||
|
|
||||||
import com.eclipsesource.v8.V8Object;
|
|
||||||
|
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import info.nightscout.androidaps.data.IobTotal;
|
|
||||||
import info.nightscout.androidaps.db.BgReading;
|
|
||||||
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
||||||
import info.nightscout.utils.DateUtil;
|
import info.nightscout.utils.DateUtil;
|
||||||
|
|
||||||
public class DetermineBasalResultSMB extends APSResult {
|
public class DetermineBasalResultSMB extends APSResult {
|
||||||
public Date date;
|
|
||||||
public JSONObject json = new JSONObject();
|
|
||||||
public double eventualBG;
|
public double eventualBG;
|
||||||
public double snoozeBG;
|
public double snoozeBG;
|
||||||
|
|
||||||
public DetermineBasalResultSMB(JSONObject result) {
|
public DetermineBasalResultSMB(JSONObject result) {
|
||||||
|
this();
|
||||||
date = new Date();
|
date = new Date();
|
||||||
json = result;
|
json = result;
|
||||||
try {
|
try {
|
||||||
|
@ -71,6 +63,7 @@ public class DetermineBasalResultSMB extends APSResult {
|
||||||
}
|
}
|
||||||
|
|
||||||
public DetermineBasalResultSMB() {
|
public DetermineBasalResultSMB() {
|
||||||
|
hasPredictions = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -106,73 +99,4 @@ public class DetermineBasalResultSMB extends APSResult {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<BgReading> getPredictions() {
|
|
||||||
List<BgReading> array = new ArrayList<>();
|
|
||||||
try {
|
|
||||||
long startTime = date.getTime();
|
|
||||||
if (json.has("predBGs")) {
|
|
||||||
JSONObject predBGs = json.getJSONObject("predBGs");
|
|
||||||
if (predBGs.has("IOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("IOB");
|
|
||||||
for (int i = 1; i < iob.length(); i++) {
|
|
||||||
BgReading bg = new BgReading();
|
|
||||||
bg.value = iob.getInt(i);
|
|
||||||
bg.date = startTime + i * 5 * 60 * 1000L;
|
|
||||||
bg.isPrediction = true;
|
|
||||||
array.add(bg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (predBGs.has("aCOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("aCOB");
|
|
||||||
for (int i = 1; i < iob.length(); i++) {
|
|
||||||
BgReading bg = new BgReading();
|
|
||||||
bg.value = iob.getInt(i);
|
|
||||||
bg.date = startTime + i * 5 * 60 * 1000L;
|
|
||||||
bg.isPrediction = true;
|
|
||||||
array.add(bg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (predBGs.has("COB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("COB");
|
|
||||||
for (int i = 1; i < iob.length(); i++) {
|
|
||||||
BgReading bg = new BgReading();
|
|
||||||
bg.value = iob.getInt(i);
|
|
||||||
bg.date = startTime + i * 5 * 60 * 1000L;
|
|
||||||
bg.isPrediction = true;
|
|
||||||
array.add(bg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return array;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getLatestPredictionsTime() {
|
|
||||||
long latest = 0;
|
|
||||||
try {
|
|
||||||
long startTime = date.getTime();
|
|
||||||
if (json.has("predBGs")) {
|
|
||||||
JSONObject predBGs = json.getJSONObject("predBGs");
|
|
||||||
if (predBGs.has("IOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("IOB");
|
|
||||||
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
|
||||||
}
|
|
||||||
if (predBGs.has("aCOB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("aCOB");
|
|
||||||
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
|
||||||
}
|
|
||||||
if (predBGs.has("COB")) {
|
|
||||||
JSONArray iob = predBGs.getJSONArray("COB");
|
|
||||||
latest = Math.max(latest, startTime + (iob.length() - 1) * 5 * 60 * 1000L);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (JSONException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
return latest;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,8 +103,6 @@ import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
|
||||||
import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification;
|
import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification;
|
||||||
import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastAckAlarm;
|
import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastAckAlarm;
|
||||||
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSDeviceStatus;
|
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSDeviceStatus;
|
||||||
import info.nightscout.androidaps.plugins.OpenAPSAMA.DetermineBasalResultAMA;
|
|
||||||
import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin;
|
|
||||||
import info.nightscout.androidaps.plugins.Overview.Dialogs.CalibrationDialog;
|
import info.nightscout.androidaps.plugins.Overview.Dialogs.CalibrationDialog;
|
||||||
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;
|
||||||
|
@ -126,9 +124,6 @@ import info.nightscout.utils.Profiler;
|
||||||
import info.nightscout.utils.Round;
|
import info.nightscout.utils.Round;
|
||||||
import info.nightscout.utils.SP;
|
import info.nightscout.utils.SP;
|
||||||
import info.nightscout.utils.ToastUtils;
|
import info.nightscout.utils.ToastUtils;
|
||||||
//Added By Rumen for staledata alarm
|
|
||||||
import info.nightscout.androidaps.plugins.Overview.Notification;
|
|
||||||
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
|
|
||||||
|
|
||||||
public class OverviewFragment extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
|
public class OverviewFragment extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
|
||||||
private static Logger log = LoggerFactory.getLogger(OverviewFragment.class);
|
private static Logger log = LoggerFactory.getLogger(OverviewFragment.class);
|
||||||
|
@ -1189,8 +1184,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
|
||||||
cobView.setText(cobText);
|
cobView.setText(cobText);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean showPrediction = showPredictionView.isChecked() && finalLastRun != null && finalLastRun.constraintsProcessed.getClass().equals(DetermineBasalResultAMA.class);
|
boolean showPrediction = showPredictionView.isChecked() && finalLastRun != null && finalLastRun.request.hasPredictions;
|
||||||
if (MainApp.getSpecificPlugin(OpenAPSAMAPlugin.class) != null && MainApp.getSpecificPlugin(OpenAPSAMAPlugin.class).isEnabled(PluginBase.APS)) {
|
if (showPrediction) {
|
||||||
showPredictionView.setVisibility(View.VISIBLE);
|
showPredictionView.setVisibility(View.VISIBLE);
|
||||||
getActivity().findViewById(R.id.overview_showprediction_label).setVisibility(View.VISIBLE);
|
getActivity().findViewById(R.id.overview_showprediction_label).setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1247,7 +1242,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
|
||||||
long fromTime;
|
long fromTime;
|
||||||
long endTime;
|
long endTime;
|
||||||
if (showPrediction) {
|
if (showPrediction) {
|
||||||
int predHours = (int) (Math.ceil(((DetermineBasalResultAMA) finalLastRun.constraintsProcessed).getLatestPredictionsTime() - System.currentTimeMillis()) / (60 * 60 * 1000));
|
int predHours = (int) (Math.ceil(finalLastRun.constraintsProcessed.getLatestPredictionsTime() - System.currentTimeMillis()) / (60 * 60 * 1000));
|
||||||
predHours = Math.min(2, predHours);
|
predHours = Math.min(2, predHours);
|
||||||
predHours = Math.max(0, predHours);
|
predHours = Math.max(0, predHours);
|
||||||
hoursToFetch = rangeToDisplay - predHours;
|
hoursToFetch = rangeToDisplay - predHours;
|
||||||
|
@ -1573,8 +1568,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
|
||||||
bgListArray.add(bg);
|
bgListArray.add(bg);
|
||||||
}
|
}
|
||||||
if (showPrediction) {
|
if (showPrediction) {
|
||||||
DetermineBasalResultAMA amaResult = (DetermineBasalResultAMA) finalLastRun.constraintsProcessed;
|
List<BgReading> predArray = finalLastRun.constraintsProcessed.getPredictions();
|
||||||
List<BgReading> predArray = amaResult.getPredictions();
|
|
||||||
bgListArray.addAll(predArray);
|
bgListArray.addAll(predArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue