From eedd2ee28b6dd0e34b918acfb2fc966d469e2828 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sat, 21 Oct 2017 16:36:46 +0200 Subject: [PATCH 1/2] Add bg/treatment to EventNewBG/EventTreatmentChange. --- .../androidaps/db/DatabaseHelper.java | 38 +++++++++---------- .../androidaps/events/EventNewBG.java | 10 +++++ .../events/EventTreatmentChange.java | 10 +++++ 3 files changed, 39 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index 082f872d20..fe59b49137 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -225,9 +225,9 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { log.error("Unhandled exception", e); } VirtualPumpPlugin.setFakingStatus(true); - scheduleBgChange(); // trigger refresh + scheduleBgChange(null); // trigger refresh scheduleTemporaryBasalChange(); - scheduleTreatmentChange(); + scheduleTreatmentChange(null); scheduleExtendedBolusChange(); scheduleTemporaryTargetChange(); scheduleCareportalEventChange(); @@ -252,7 +252,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } catch (SQLException e) { log.error("Unhandled exception", e); } - scheduleTreatmentChange(); + scheduleTreatmentChange(null); } public void resetTempTargets() { @@ -358,7 +358,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { if (old == null) { getDaoBgReadings().create(bgReading); log.debug("BG: New record from: " + from + " " + bgReading.toString()); - scheduleBgChange(); + scheduleBgChange(bgReading); return true; } if (!old.isEqual(bgReading)) { @@ -366,7 +366,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { old.copyFrom(bgReading); getDaoBgReadings().update(old); log.debug("BG: Updating record from: " + from + " New data: " + old.toString()); - scheduleBgChange(); + scheduleBgChange(bgReading); return false; } } catch (SQLException e) { @@ -384,11 +384,11 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } } - private static void scheduleBgChange() { + private static void scheduleBgChange(@Nullable final BgReading bgReading) { class PostRunnable implements Runnable { public void run() { log.debug("Firing EventNewBg"); - MainApp.bus().post(new EventNewBG()); + MainApp.bus().post(new EventNewBG(bgReading)); scheduledBgPost = null; } } @@ -563,7 +563,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoTreatments().create(treatment); log.debug("TREATMENT: New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); updateEarliestDataChange(treatment.date); - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); return true; } if (treatment.source == Source.NIGHTSCOUT) { @@ -580,7 +580,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { updateEarliestDataChange(oldDate); updateEarliestDataChange(old.date); } - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); return true; } return false; @@ -605,7 +605,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { updateEarliestDataChange(oldDate); updateEarliestDataChange(old.date); } - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); return true; } } @@ -613,14 +613,14 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoTreatments().create(treatment); log.debug("TREATMENT: New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); updateEarliestDataChange(treatment.date); - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); return true; } if (treatment.source == Source.USER) { getDaoTreatments().create(treatment); log.debug("TREATMENT: New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); updateEarliestDataChange(treatment.date); - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); return true; } } catch (SQLException e) { @@ -636,7 +636,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } catch (SQLException e) { log.error("Unhandled exception", e); } - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); } public void update(Treatment treatment) { @@ -646,7 +646,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } catch (SQLException e) { log.error("Unhandled exception", e); } - scheduleTreatmentChange(); + scheduleTreatmentChange(treatment); } public void deleteTreatmentById(String _id) { @@ -655,12 +655,12 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { log.debug("TREATMENT: Removing Treatment record from database: " + stored.toString()); delete(stored); updateEarliestDataChange(stored.date); - scheduleTreatmentChange(); + scheduleTreatmentChange(null); } } @Nullable - public Treatment findTreatmentById(String _id) { + private Treatment findTreatmentById(String _id) { try { Dao daoTreatments = getDaoTreatments(); QueryBuilder queryBuilder = daoTreatments.queryBuilder(); @@ -692,11 +692,11 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } } - private static void scheduleTreatmentChange() { + private static void scheduleTreatmentChange(@Nullable final Treatment treatment) { class PostRunnable implements Runnable { public void run() { log.debug("Firing EventTreatmentChange"); - MainApp.bus().post(new EventReloadTreatmentData(new EventTreatmentChange())); + MainApp.bus().post(new EventReloadTreatmentData(new EventTreatmentChange(treatment))); if (earliestDataChange != null) MainApp.bus().post(new EventNewHistoryData(earliestDataChange)); earliestDataChange = null; @@ -1742,4 +1742,4 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } // ---------------- Food handling --------------- -} \ No newline at end of file +} diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.java b/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.java index 2fb9919b00..dc4d434e0a 100644 --- a/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.java +++ b/app/src/main/java/info/nightscout/androidaps/events/EventNewBG.java @@ -1,7 +1,17 @@ package info.nightscout.androidaps.events; +import android.support.annotation.Nullable; + +import info.nightscout.androidaps.db.BgReading; + /** * Created by mike on 05.06.2016. */ public class EventNewBG extends EventLoop { + @Nullable + public final BgReading bgReading; + + public EventNewBG(BgReading bgReading) { + this.bgReading = bgReading; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventTreatmentChange.java b/app/src/main/java/info/nightscout/androidaps/events/EventTreatmentChange.java index 439d9a7124..2a3581f9bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/events/EventTreatmentChange.java +++ b/app/src/main/java/info/nightscout/androidaps/events/EventTreatmentChange.java @@ -1,7 +1,17 @@ package info.nightscout.androidaps.events; +import android.support.annotation.Nullable; + +import info.nightscout.androidaps.db.Treatment; + /** * Created by mike on 04.06.2016. */ public class EventTreatmentChange extends EventLoop { + @Nullable + public final Treatment treatment; + + public EventTreatmentChange(Treatment treatment) { + this.treatment = treatment; + } } From 5adaff6bc6c9192f32db2850656acae55d872222 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Fri, 2 Feb 2018 18:59:05 +0100 Subject: [PATCH 2/2] Don't run loop on treatment change if it's an SMB. --- .../info/nightscout/androidaps/plugins/Loop/LoopPlugin.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 72c9b1afff..2debfa34c5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -151,7 +151,9 @@ public class LoopPlugin implements PluginBase { @Subscribe public void onStatusEvent(final EventTreatmentChange ev) { - invoke("EventTreatmentChange", true); + if (ev.treatment == null || !ev.treatment.isSMB){ + invoke("EventTreatmentChange", true); + } } @Subscribe