ensure we are loading 24h + dia data
This commit is contained in:
parent
5f146f90de
commit
c62e498aac
9 changed files with 57 additions and 62 deletions
|
@ -37,7 +37,7 @@
|
||||||
<ConfirmationsSetting value="0" id="Add" />
|
<ConfirmationsSetting value="0" id="Add" />
|
||||||
<ConfirmationsSetting value="0" id="Remove" />
|
<ConfirmationsSetting value="0" id="Remove" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|
|
@ -4,11 +4,6 @@ import android.support.annotation.Nullable;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
|
|
||||||
import com.j256.ormlite.dao.Dao;
|
|
||||||
import com.j256.ormlite.stmt.PreparedQuery;
|
|
||||||
import com.j256.ormlite.stmt.QueryBuilder;
|
|
||||||
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -61,7 +56,7 @@ public class GlucoseStatus {
|
||||||
public static GlucoseStatus getGlucoseStatusData() {
|
public static GlucoseStatus getGlucoseStatusData() {
|
||||||
// load 45min
|
// load 45min
|
||||||
long fromtime = (long) (new Date().getTime() - 60 * 1000L * 45);
|
long fromtime = (long) (new Date().getTime() - 60 * 1000L * 45);
|
||||||
List<BgReading> data = MainApp.getDbHelper().getDataFromTime(fromtime, false);
|
List<BgReading> data = MainApp.getDbHelper().getBgreadingsDataFromTime(fromtime, false);
|
||||||
|
|
||||||
int sizeRecords = data.size();
|
int sizeRecords = data.size();
|
||||||
if (sizeRecords < 4 || data.get(0).timeIndex < new Date().getTime() - 7 * 60 * 1000L) {
|
if (sizeRecords < 4 || data.get(0).timeIndex < new Date().getTime() - 7 * 60 * 1000L) {
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class MealData {
|
||||||
if (profile == null) return;
|
if (profile == null) return;
|
||||||
|
|
||||||
// TODO: not sure how much data do i need for AMA
|
// TODO: not sure how much data do i need for AMA
|
||||||
List<BgReading> bgReadings = MainApp.getDbHelper().getDataFromTime((long) (new Date().getTime() - 60 * 60 * 1000L * profile.getDia() * 2), false);
|
List<BgReading> bgReadings = MainApp.getDbHelper().getBgreadingsDataFromTime((long) (new Date().getTime() - 60 * 60 * 1000L * profile.getDia() * 2), false);
|
||||||
|
|
||||||
long now = new Date().getTime();
|
long now = new Date().getTime();
|
||||||
long dia_ago = now - (new Double(profile.getDia() * 60 * 60 * 1000l)).longValue();
|
long dia_ago = now - (new Double(profile.getDia() * 60 * 60 * 1000l)).longValue();
|
||||||
|
|
|
@ -183,7 +183,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<BgReading> getDataFromTime(long mills, boolean ascending) {
|
public List<BgReading> getBgreadingsDataFromTime(long mills, boolean ascending) {
|
||||||
try {
|
try {
|
||||||
Dao<BgReading, Long> daoBgreadings = getDaoBgReadings();
|
Dao<BgReading, Long> daoBgreadings = getDaoBgReadings();
|
||||||
List<BgReading> bgReadings;
|
List<BgReading> bgReadings;
|
||||||
|
@ -200,4 +200,38 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
|
||||||
return new ArrayList<BgReading>();
|
return new ArrayList<BgReading>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Treatment> getTreatmentDataFromTime(long mills, boolean ascending) {
|
||||||
|
try {
|
||||||
|
Dao<Treatment, Long> daoTreatments = getDaoTreatments();
|
||||||
|
List<Treatment> treatments;
|
||||||
|
QueryBuilder<Treatment, Long> queryBuilder = daoTreatments.queryBuilder();
|
||||||
|
queryBuilder.orderBy("timeIndex", ascending);
|
||||||
|
Where where = queryBuilder.where();
|
||||||
|
where.ge("timeIndex", mills);
|
||||||
|
PreparedQuery<Treatment> preparedQuery = queryBuilder.prepare();
|
||||||
|
treatments = daoTreatments.query(preparedQuery);
|
||||||
|
return treatments;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return new ArrayList<Treatment>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<TempBasal> getTempbasalsDataFromTime(long mills, boolean ascending, boolean isExtended) {
|
||||||
|
try {
|
||||||
|
Dao<TempBasal, Long> daoTempbasals = getDaoTempBasals();
|
||||||
|
List<TempBasal> tempbasals;
|
||||||
|
QueryBuilder<TempBasal, Long> queryBuilder = daoTempbasals.queryBuilder();
|
||||||
|
queryBuilder.orderBy("timeIndex", ascending);
|
||||||
|
Where where = queryBuilder.where();
|
||||||
|
where.ge("timeIndex", mills).and().eq("isExtended", isExtended);
|
||||||
|
PreparedQuery<TempBasal> preparedQuery = queryBuilder.prepare();
|
||||||
|
tempbasals = daoTempbasals.query(preparedQuery);
|
||||||
|
return tempbasals;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return new ArrayList<TempBasal>();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,6 @@ import info.nightscout.androidaps.db.BgReading;
|
||||||
import info.nightscout.androidaps.interfaces.APSInterface;
|
import info.nightscout.androidaps.interfaces.APSInterface;
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
import info.nightscout.androidaps.interfaces.PumpInterface;
|
import info.nightscout.androidaps.interfaces.PumpInterface;
|
||||||
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
|
|
||||||
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
|
|
||||||
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
import info.nightscout.androidaps.plugins.Loop.APSResult;
|
||||||
import info.nightscout.androidaps.plugins.Loop.ScriptReader;
|
import info.nightscout.androidaps.plugins.Loop.ScriptReader;
|
||||||
import info.nightscout.androidaps.data.IobTotal;
|
import info.nightscout.androidaps.data.IobTotal;
|
||||||
|
@ -184,7 +182,7 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
|
||||||
if (!checkOnlyHardLimits(profile.getMaxDailyBasal(), "max_daily_basal", 0.1, 10)) return;
|
if (!checkOnlyHardLimits(profile.getMaxDailyBasal(), "max_daily_basal", 0.1, 10)) return;
|
||||||
if (!checkOnlyHardLimits(pump.getBaseBasalRate(), "current_basal", 0.01, 5)) return;
|
if (!checkOnlyHardLimits(pump.getBaseBasalRate(), "current_basal", 0.01, 5)) return;
|
||||||
|
|
||||||
List<BgReading> bgReadings = MainApp.getDbHelper().getDataFromTime((long) (new Date().getTime() - 60 * 60 * 1000L * (24 + profile.getDia())), false);
|
List<BgReading> bgReadings = MainApp.getDbHelper().getBgreadingsDataFromTime((long) (new Date().getTime() - 60 * 60 * 1000L * (24 + profile.getDia())), false);
|
||||||
AutosensResult autosensResult = Autosens.detectSensitivityandCarbAbsorption(bgReadings, new Date().getTime());
|
AutosensResult autosensResult = Autosens.detectSensitivityandCarbAbsorption(bgReadings, new Date().getTime());
|
||||||
|
|
||||||
determineBasalAdapterAMAJS.setData(profile, maxIob, maxBasal, minBg, maxBg, targetBg, pump, iobArray, glucoseStatus, mealData,
|
determineBasalAdapterAMAJS.setData(profile, maxIob, maxBasal, minBg, maxBg, targetBg, pump, iobArray, glucoseStatus, mealData,
|
||||||
|
|
|
@ -746,7 +746,7 @@ public class OverviewFragment extends Fragment {
|
||||||
bgGraph.getGridLabelRenderer().setNumHorizontalLabels(7); // only 7 because of the space
|
bgGraph.getGridLabelRenderer().setNumHorizontalLabels(7); // only 7 because of the space
|
||||||
|
|
||||||
// **** BG graph ****
|
// **** BG graph ****
|
||||||
List<BgReading> bgReadingsArray = MainApp.getDbHelper().getDataFromTime(fromTime, true);
|
List<BgReading> bgReadingsArray = MainApp.getDbHelper().getBgreadingsDataFromTime(fromTime, true);
|
||||||
List<BgReading> inRangeArray = new ArrayList<BgReading>();
|
List<BgReading> inRangeArray = new ArrayList<BgReading>();
|
||||||
List<BgReading> outOfRangeArray = new ArrayList<BgReading>();
|
List<BgReading> outOfRangeArray = new ArrayList<BgReading>();
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ import info.nightscout.androidaps.events.EventTempBasalChange;
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
|
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
|
||||||
import info.nightscout.androidaps.data.IobTotal;
|
import info.nightscout.androidaps.data.IobTotal;
|
||||||
|
import info.nightscout.client.data.NSProfile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by mike on 05.08.2016.
|
* Created by mike on 05.08.2016.
|
||||||
|
@ -95,44 +96,16 @@ public class TempBasalsPlugin implements PluginBase, TempBasalsInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeData() {
|
private void initializeData() {
|
||||||
try {
|
double dia = 3;
|
||||||
Dao<TempBasal, Long> dao = MainApp.getDbHelper().getDaoTempBasals();
|
if (MainApp.getConfigBuilder().getActiveProfile() != null)
|
||||||
/*
|
dia = MainApp.getConfigBuilder().getActiveProfile().getProfile().getDia();
|
||||||
// **************** TESTING CREATE FAKE RECORD *****************
|
long fromMills = (long) (new Date().getTime() - 60 * 60 * 1000L * (24 + dia));
|
||||||
TempBasal fake = new TempBasal();
|
tempBasals = MainApp.getDbHelper().getTempbasalsDataFromTime(fromMills, false, false);
|
||||||
fake.timeStart = new Date(new Date().getTime() - 45 * 40 * 1000);
|
extendedBoluses = MainApp.getDbHelper().getTempbasalsDataFromTime(fromMills, false, true);
|
||||||
fake.timeEnd = new Date(new Date().getTime() - new Double(Math.random() * 45d * 40 * 1000).longValue());
|
|
||||||
fake.duration = 30;
|
|
||||||
fake.percent = 150;
|
|
||||||
fake.isAbsolute = false;
|
|
||||||
fake.isExtended = false;
|
|
||||||
dao.createOrUpdate(fake);
|
|
||||||
// **************** TESTING CREATE FAKE RECORD *****************
|
|
||||||
*/
|
|
||||||
QueryBuilder<TempBasal, Long> queryBuilder = dao.queryBuilder();
|
|
||||||
queryBuilder.orderBy("timeIndex", false);
|
|
||||||
Where where = queryBuilder.where();
|
|
||||||
where.eq("isExtended", false);
|
|
||||||
queryBuilder.limit(30L);
|
|
||||||
PreparedQuery<TempBasal> preparedQuery = queryBuilder.prepare();
|
|
||||||
tempBasals = dao.query(preparedQuery);
|
|
||||||
|
|
||||||
QueryBuilder<TempBasal, Long> queryBuilderExt = dao.queryBuilder();
|
// Update ended
|
||||||
queryBuilderExt.orderBy("timeIndex", false);
|
checkForExpiredExtended();
|
||||||
Where whereExt = queryBuilderExt.where();
|
checkForExpiredTemps();
|
||||||
whereExt.eq("isExtended", true);
|
|
||||||
queryBuilderExt.limit(30L);
|
|
||||||
PreparedQuery<TempBasal> preparedQueryExt = queryBuilderExt.prepare();
|
|
||||||
extendedBoluses = dao.query(preparedQueryExt);
|
|
||||||
|
|
||||||
// Update ended
|
|
||||||
checkForExpiredExtended();
|
|
||||||
checkForExpiredTemps();
|
|
||||||
} catch (SQLException e) {
|
|
||||||
log.debug(e.getMessage(), e);
|
|
||||||
tempBasals = new ArrayList<TempBasal>();
|
|
||||||
extendedBoluses = new ArrayList<TempBasal>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkForExpiredTemps() {
|
public void checkForExpiredTemps() {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package info.nightscout.androidaps.plugins.Treatments;
|
||||||
import com.j256.ormlite.dao.Dao;
|
import com.j256.ormlite.dao.Dao;
|
||||||
import com.j256.ormlite.stmt.PreparedQuery;
|
import com.j256.ormlite.stmt.PreparedQuery;
|
||||||
import com.j256.ormlite.stmt.QueryBuilder;
|
import com.j256.ormlite.stmt.QueryBuilder;
|
||||||
|
import com.j256.ormlite.stmt.Where;
|
||||||
import com.squareup.otto.Subscribe;
|
import com.squareup.otto.Subscribe;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -86,17 +87,11 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initializeData() {
|
public void initializeData() {
|
||||||
try {
|
double dia = 3;
|
||||||
Dao<Treatment, Long> dao = MainApp.getDbHelper().getDaoTreatments();
|
if (MainApp.getConfigBuilder().getActiveProfile() != null)
|
||||||
QueryBuilder<Treatment, Long> queryBuilder = dao.queryBuilder();
|
dia = MainApp.getConfigBuilder().getActiveProfile().getProfile().getDia();
|
||||||
queryBuilder.orderBy("timeIndex", false);
|
long fromMills = (long) (new Date().getTime() - 60 * 60 * 1000L * (24 + dia));
|
||||||
queryBuilder.limit(30l);
|
treatments = MainApp.getDbHelper().getTreatmentDataFromTime(fromMills, false);
|
||||||
PreparedQuery<Treatment> preparedQuery = queryBuilder.prepare();
|
|
||||||
treatments = dao.query(preparedQuery);
|
|
||||||
} catch (SQLException e) {
|
|
||||||
log.debug(e.getMessage(), e);
|
|
||||||
treatments = new ArrayList<Treatment>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -254,7 +254,7 @@ public class WatchUpdaterService extends WearableListenerService implements
|
||||||
|
|
||||||
if (last_bg == null) return;
|
if (last_bg == null) return;
|
||||||
|
|
||||||
List<BgReading> graph_bgs = MainApp.getDbHelper().getDataFromTime(startTime, true);
|
List<BgReading> graph_bgs = MainApp.getDbHelper().getBgreadingsDataFromTime(startTime, true);
|
||||||
GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData();
|
GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData();
|
||||||
|
|
||||||
if (!graph_bgs.isEmpty()) {
|
if (!graph_bgs.isEmpty()) {
|
||||||
|
|
Loading…
Reference in a new issue