From e8406320e0db8fd436bbf4e99a52fcc9dad851c6 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 11:48:00 +0200 Subject: [PATCH 01/32] COB settings --- app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/pref_absorption_aaps.xml | 4 ++-- app/src/main/res/xml/pref_absorption_oref0.xml | 13 +++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index abdb0e1160..8dcce74685 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -995,4 +995,6 @@ openapsmb_max_iob Maximum total IOB OpenAPS can\'t go over [U] This value is called Max IOB in OpenAPS context\nOpenAPS will not add more insulin if current IOB is greater than this value + Meal max absorption time [h] + Time at which any meal is considered absorbed. Remaining carbs will be cut off. diff --git a/app/src/main/res/xml/pref_absorption_aaps.xml b/app/src/main/res/xml/pref_absorption_aaps.xml index f86a21ec88..e5dab3128e 100644 --- a/app/src/main/res/xml/pref_absorption_aaps.xml +++ b/app/src/main/res/xml/pref_absorption_aaps.xml @@ -6,10 +6,10 @@ android:title="@string/absorptionsettings_title"> + + From 00c05c0e230591d7a3c5c2bfb092cca882897815 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 12:57:13 +0200 Subject: [PATCH 02/32] totalMinCarbsImpact depending on sensitivty plugin --- .../info/nightscout/androidaps/Constants.java | 1 + .../plugins/IobCobCalculator/AutosensData.java | 8 +++++--- .../plugins/IobCobCalculator/IobCobThread.java | 17 ++++++++++++++--- app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/pref_absorption_oref0.xml | 2 +- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index aeb4977584..56fd2b6de9 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -59,6 +59,7 @@ public class Constants { //Autosens public static final double DEVIATION_TO_BE_EQUAL = 2.0; + public static final double DEFAULT_MAX_ABSORPTION_TIME = 6.0; // Pump public static final int PUMP_MAX_CONNECTION_TIME_IN_SECONDS = 120 - 1; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 397656306b..4fe46f3a80 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -7,9 +7,11 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; @@ -34,14 +36,14 @@ public class AutosensData { carbs = t.carbs; remaining = t.carbs; if (SensitivityAAPSPlugin.getPlugin().isEnabled(PluginType.SENSITIVITY) || SensitivityWeightedAveragePlugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) { - double maxAbsorptionHours = SP.getDouble(R.string.key_absorption_maxtime, 4d); + double maxAbsorptionHours = SP.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME); Profile profile = MainApp.getConfigBuilder().getProfile(t.date); double sens = Profile.toMgdl(profile.getIsf(t.date), profile.getUnits()); double ic = profile.getIc(t.date); min5minCarbImpact = t.carbs / (maxAbsorptionHours * 60 / 5) * sens / ic; log.debug("Min 5m carbs impact for " + carbs + "g @" + new Date(t.date).toLocaleString() + " for " + maxAbsorptionHours + "h calculated to " + min5minCarbImpact + " ISF: " + sens + " IC: " + ic); } else { - min5minCarbImpact = SP.getDouble("openapsama_min_5m_carbimpact", 3.0); + min5minCarbImpact = SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact); } } } @@ -73,7 +75,7 @@ public class AutosensData { return (int) ((System.currentTimeMillis() - time) / 1000 / 60); } - // remove carbs older than 4h + // remove carbs older than timeframe public void removeOldCarbs(long toTime) { for (int i = 0; i < activeCarbsList.size(); i++) { CarbsInPast c = activeCarbsList.get(i); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index e3f12cbea6..7789f8a5a6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -20,12 +20,17 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.BgReading; +import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; +import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; +import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.FabricPrivacy; +import info.nightscout.utils.SP; /** * Created by mike on 23.01.2018. @@ -199,9 +204,15 @@ public class IobCobThread extends Thread { if (previous != null && previous.cob > 0) { // calculate sum of min carb impact from all active treatments double totalMinCarbsImpact = 0d; - for (int ii = 0; ii < autosensData.activeCarbsList.size(); ++ii) { - AutosensData.CarbsInPast c = autosensData.activeCarbsList.get(ii); - totalMinCarbsImpact += c.min5minCarbImpact; + if (SensitivityAAPSPlugin.getPlugin().isEnabled(PluginType.SENSITIVITY) || SensitivityWeightedAveragePlugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) { + //when the impact depends on a max time, sum them up as smaller carb sizes make them smaller + for (int ii = 0; ii < autosensData.activeCarbsList.size(); ++ii) { + AutosensData.CarbsInPast c = autosensData.activeCarbsList.get(ii); + totalMinCarbsImpact += c.min5minCarbImpact; + } + } else { + //Oref sensitivity + totalMinCarbsImpact = SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact); } // figure out how many carbs that represents diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8dcce74685..c721b7adb5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -619,6 +619,8 @@ Sensitivity AAPS Absorption settings absorption_maxtime + absorption_cutoff + Meal max absorption time [h] Time in hours where is expected all carbs from meal will be absorbed rangetodisplay diff --git a/app/src/main/res/xml/pref_absorption_oref0.xml b/app/src/main/res/xml/pref_absorption_oref0.xml index bac14608c7..4cdd7fb8f0 100644 --- a/app/src/main/res/xml/pref_absorption_oref0.xml +++ b/app/src/main/res/xml/pref_absorption_oref0.xml @@ -28,7 +28,7 @@ android:maxLines="20" android:title="@string/absorption_cutoff_title" android:dialogMessage="@string/absorption_cutoff_summary" - android:key="@string/key_absorption_maxtime" /> + android:key="@string/key_absorption_cutoff" /> From f4dea97f3638f6387f98679afc3346e22d61c11d Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 13:04:21 +0200 Subject: [PATCH 03/32] cutoff at max absorption time --- .../plugins/IobCobCalculator/AutosensData.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 4fe46f3a80..b4013a7a3c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -77,13 +77,19 @@ public class AutosensData { // remove carbs older than timeframe public void removeOldCarbs(long toTime) { + double maxAbsorptionHours = Constants.DEFAULT_MAX_ABSORPTION_TIME; + if (SensitivityAAPSPlugin.getPlugin().isEnabled(PluginType.SENSITIVITY) || SensitivityWeightedAveragePlugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) { + maxAbsorptionHours = SP.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME); + } else { + maxAbsorptionHours = SP.getDouble(R.string.key_absorption_cutoff, Constants.DEFAULT_MAX_ABSORPTION_TIME); + } for (int i = 0; i < activeCarbsList.size(); i++) { CarbsInPast c = activeCarbsList.get(i); - if (c.time + 4 * 60 * 60 * 1000L < toTime) { + if (c.time + maxAbsorptionHours * 60 * 60 * 1000L < toTime) { activeCarbsList.remove(i--); if (c.remaining > 0) cob -= c.remaining; - log.debug("Removing carbs at "+ new Date(toTime).toLocaleString() + " + after 4h :" + new Date(c.time).toLocaleString()); + log.debug("Removing carbs at "+ new Date(toTime).toLocaleString() + " + after "+ maxAbsorptionHours +"h :" + new Date(c.time).toLocaleString()); } } } From 09cc8c01b645ecfe89d27314fffcd0b9b05b0996 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 13:31:34 +0200 Subject: [PATCH 04/32] use min5min impact actually used for SMB --- .../java/info/nightscout/androidaps/data/MealData.java | 1 + .../plugins/IobCobCalculator/AutosensData.java | 2 ++ .../plugins/IobCobCalculator/IobCobThread.java | 1 + .../plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java | 8 ++++++-- .../plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java | 9 ++++++--- .../androidaps/plugins/Source/SourceXdripPlugin.java | 2 +- .../androidaps/plugins/Treatments/TreatmentsPlugin.java | 1 + 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/data/MealData.java b/app/src/main/java/info/nightscout/androidaps/data/MealData.java index 054c76d602..8acf4285bf 100644 --- a/app/src/main/java/info/nightscout/androidaps/data/MealData.java +++ b/app/src/main/java/info/nightscout/androidaps/data/MealData.java @@ -11,4 +11,5 @@ public class MealData { public double slopeFromMinDeviation = 999; public long lastBolusTime; public long lastCarbTime = 0L; + public double usedMinCarbsImpact = 0d; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index b4013a7a3c..85dc6999a0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -65,6 +65,8 @@ public class AutosensData { public double autosensRatio = 1d; public double slopeFromMaxDeviation = 0; public double slopeFromMinDeviation = 999; + public double usedMinCarbsImpact = -0; + @Override public String toString() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index 7789f8a5a6..60d315a070 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -222,6 +222,7 @@ public class IobCobThread extends Thread { // and add that to the running total carbsAbsorbed autosensData.cob = Math.max(previous.cob - autosensData.absorbed, 0d); autosensData.substractAbosorbedCarbs(); + autosensData.usedMinCarbsImpact = totalMinCarbsImpact; } autosensData.removeOldCarbs(bgTime); autosensData.cob += autosensData.carbsFromBolus; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java index 96e004d996..928987393d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java @@ -213,8 +213,12 @@ public class DetermineBasalAdapterAMAJS { mProfile.put("current_basal", basalrate); mProfile.put("temptargetSet", tempTargetSet); mProfile.put("autosens_adjust_targets", SP.getBoolean("openapsama_autosens_adjusttargets", true)); - //TODO: align with max-absorption model in AMA sensitivity - mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); + //align with max-absorption model in AMA sensitivity + if(mealData.usedMinCarbsImpact >0){ + mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); + } else { + mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); + } if (units.equals(Constants.MMOL)) { mProfile.put("out_units", "mmol/L"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java index 89bf8431f4..b28ce599f7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java @@ -243,9 +243,12 @@ public class DetermineBasalAdapterSMBJS { mProfile.put("half_basal_exercise_target", SMBDefaults.half_basal_exercise_target); mProfile.put("maxCOB", SMBDefaults.maxCOB); mProfile.put("skip_neutral_temps", SMBDefaults.skip_neutral_temps); - //TODO: align with max-absorption model in AMA sensitivity - mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); - ; + //align with max-absorption model in AMA sensitivity + if(mealData.usedMinCarbsImpact >0){ + mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); + } else { + mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); + } mProfile.put("remainingCarbsCap", SMBDefaults.remainingCarbsCap); mProfile.put("enableUAM", SP.getBoolean(R.string.key_use_uam, false)); mProfile.put("A52_risk_enable", SMBDefaults.A52_risk_enable); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java index 0d33f529b3..bfc1a184ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java @@ -29,6 +29,6 @@ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { @Override public boolean advancedFilteringSupported() { - return false; + return true; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java index 2f5135c0cb..c3198f752a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java @@ -235,6 +235,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface result.mealCOB = autosensData.cob; result.slopeFromMinDeviation = autosensData.slopeFromMinDeviation; result.slopeFromMaxDeviation = autosensData.slopeFromMaxDeviation; + result.usedMinCarbsImpact = autosensData.usedMinCarbsImpact; } result.lastBolusTime = getLastBolusTime(); return result; From d7bf3c563a72af08da7ca36a6c763d511fcd07bf Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 13:35:52 +0200 Subject: [PATCH 05/32] cleanup --- .../nightscout/androidaps/plugins/Source/SourceXdripPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java index bfc1a184ff..0d33f529b3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java @@ -29,6 +29,6 @@ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { @Override public boolean advancedFilteringSupported() { - return true; + return false; } } From 8d94acb0515f9a8530fe25eadf59021bd7831d4c Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 13:44:06 +0200 Subject: [PATCH 06/32] more cleanups --- .../androidaps/plugins/IobCobCalculator/AutosensData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 85dc6999a0..11b86c5fc5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -65,7 +65,7 @@ public class AutosensData { public double autosensRatio = 1d; public double slopeFromMaxDeviation = 0; public double slopeFromMinDeviation = 999; - public double usedMinCarbsImpact = -0; + public double usedMinCarbsImpact = 0d; @Override From d810be9b6a52ed108baf5a1ed3b93f74ec028d26 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 14:03:30 +0200 Subject: [PATCH 07/32] consider absorption time for carbs - not DIA --- .../plugins/Treatments/TreatmentsPlugin.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java index c3198f752a..feb99d5166 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java @@ -40,6 +40,8 @@ import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; +import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; +import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.NSUpload; import info.nightscout.utils.SP; @@ -211,22 +213,35 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface if (profile == null) return result; long now = System.currentTimeMillis(); - long dia_ago = now - (Double.valueOf(1.5d * profile.getDia() * T.hours(1).msecs())).longValue(); + long dia_ago = now - (Double.valueOf(profile.getDia() * T.hours(1).msecs())).longValue(); + + double maxAbsorptionHours = Constants.DEFAULT_MAX_ABSORPTION_TIME; + if (SensitivityAAPSPlugin.getPlugin().isEnabled(PluginType.SENSITIVITY) || SensitivityWeightedAveragePlugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) { + maxAbsorptionHours = SP.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME); + } else { + maxAbsorptionHours = SP.getDouble(R.string.key_absorption_cutoff, Constants.DEFAULT_MAX_ABSORPTION_TIME); + } + long absorptionTime_ago = now - (Double.valueOf(maxAbsorptionHours * T.hours(1).msecs())).longValue(); synchronized (treatments) { for (Treatment treatment : treatments) { if (!treatment.isValid) continue; long t = treatment.date; + if (t > dia_ago && t <= now) { - if (treatment.carbs >= 1) { - result.carbs += treatment.carbs; - result.lastCarbTime = t; - } if (treatment.insulin > 0 && treatment.mealBolus) { result.boluses += treatment.insulin; } } + + if (t > absorptionTime_ago && t <= now) { + if (treatment.carbs >= 1) { + result.carbs += treatment.carbs; + if(t > result.lastCarbTime) + result.lastCarbTime = t; + } + } } } From ed24a129ae2ff846513dcbaf43110a2f70fffaf8 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 19:32:50 +0200 Subject: [PATCH 08/32] unify Default in settings xml and constants --- app/src/main/res/xml/pref_absorption_oref0.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/xml/pref_absorption_oref0.xml b/app/src/main/res/xml/pref_absorption_oref0.xml index 4cdd7fb8f0..a194b754a9 100644 --- a/app/src/main/res/xml/pref_absorption_oref0.xml +++ b/app/src/main/res/xml/pref_absorption_oref0.xml @@ -8,7 +8,7 @@ validate:testType="floatNumericRange" validate:floatminNumber="0.1" validate:floatmaxNumber="12.0" - android:defaultValue="3.0" + android:defaultValue="8.0" android:selectAllOnFocus="true" android:singleLine="true" android:inputType="numberDecimal" From 9e9270bff7e38c16923b961845fbf5de2ab3bec2 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 19 Apr 2018 19:34:38 +0200 Subject: [PATCH 09/32] cleanups --- .../plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java | 2 +- .../plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java index 928987393d..89739ef626 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java @@ -214,7 +214,7 @@ public class DetermineBasalAdapterAMAJS { mProfile.put("temptargetSet", tempTargetSet); mProfile.put("autosens_adjust_targets", SP.getBoolean("openapsama_autosens_adjusttargets", true)); //align with max-absorption model in AMA sensitivity - if(mealData.usedMinCarbsImpact >0){ + if(mealData.usedMinCarbsImpact > 0){ mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); } else { mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java index b28ce599f7..fe14147853 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java @@ -244,7 +244,7 @@ public class DetermineBasalAdapterSMBJS { mProfile.put("maxCOB", SMBDefaults.maxCOB); mProfile.put("skip_neutral_temps", SMBDefaults.skip_neutral_temps); //align with max-absorption model in AMA sensitivity - if(mealData.usedMinCarbsImpact >0){ + if(mealData.usedMinCarbsImpact > 0){ mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); } else { mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); From e1dc69cd4d8b5263ba47319d3fc1a255cabdaa61 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 19 Apr 2018 22:31:07 +0200 Subject: [PATCH 10/32] visualize min carbs absorption --- .../nightscout/androidaps/db/BgReading.java | 3 +- .../IobCobCalculator/AutosensData.java | 61 +++++++++++++++-- .../IobCobCalculator/IobCobThread.java | 6 +- .../plugins/Overview/graphData/GraphData.java | 7 ++ .../PointsWithLabelGraphSeries.java | 67 ++++++++++--------- 5 files changed, 103 insertions(+), 41 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java index e842979ecb..20b9040065 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java +++ b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java @@ -195,8 +195,7 @@ public class BgReading implements DataPointWithLabelInterface { @Override public float getSize() { - boolean isTablet = MainApp.sResources.getBoolean(R.bool.isTablet); - return isTablet ? 8 : 5; + return 1; } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 11b86c5fc5..97ea10b1a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -11,18 +11,20 @@ import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; -import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; +import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; +import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; +import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.utils.SP; /** * Created by mike on 25.04.2017. */ -public class AutosensData { +public class AutosensData implements DataPointWithLabelInterface { private static Logger log = LoggerFactory.getLogger(AutosensData.class); static class CarbsInPast { @@ -66,11 +68,11 @@ public class AutosensData { public double slopeFromMaxDeviation = 0; public double slopeFromMinDeviation = 999; public double usedMinCarbsImpact = 0d; - + public boolean failoverToMinAbsorbtionRate = false; @Override public String toString() { - return "AutosensData: " + new Date(time).toLocaleString() + " " + pastSensitivity + " Delta=" + delta + " avgDelta=" + avgDelta + " Bgi=" + bgi + " Deviation=" + deviation + " avgDeviation=" + avgDeviation + " Absorbed=" + absorbed + " CarbsFromBolus=" + carbsFromBolus + " COB=" + cob + " autosensRatio=" + autosensRatio + " slopeFromMaxDeviation=" + slopeFromMaxDeviation + " slopeFromMinDeviation =" + slopeFromMinDeviation ; + return "AutosensData: " + new Date(time).toLocaleString() + " " + pastSensitivity + " Delta=" + delta + " avgDelta=" + avgDelta + " Bgi=" + bgi + " Deviation=" + deviation + " avgDeviation=" + avgDeviation + " Absorbed=" + absorbed + " CarbsFromBolus=" + carbsFromBolus + " COB=" + cob + " autosensRatio=" + autosensRatio + " slopeFromMaxDeviation=" + slopeFromMaxDeviation + " slopeFromMinDeviation =" + slopeFromMinDeviation; } public int minOld() { @@ -91,7 +93,7 @@ public class AutosensData { activeCarbsList.remove(i--); if (c.remaining > 0) cob -= c.remaining; - log.debug("Removing carbs at "+ new Date(toTime).toLocaleString() + " + after "+ maxAbsorptionHours +"h :" + new Date(c.time).toLocaleString()); + log.debug("Removing carbs at " + new Date(toTime).toLocaleString() + " + after " + maxAbsorptionHours + "h :" + new Date(c.time).toLocaleString()); } } } @@ -108,4 +110,51 @@ public class AutosensData { } } + // ------- DataPointWithLabelInterface ------ + + @Override + public double getX() { + return time; + } + + @Override + public double getY() { + return cob; + } + + @Override + public void setY(double y) { + + } + + @Override + public String getLabel() { + return null; + } + + @Override + public long getDuration() { + return 0; + } + + @Override + public PointsWithLabelGraphSeries.Shape getShape() { + return PointsWithLabelGraphSeries.Shape.COBFAILOVER; + } + + @Override + public float getSize() { + return 1f; + } + + @Override + public int getColor() { + return MainApp.gc(R.color.cob); + } + + @Override + public int getSecondColor() { + return 0; + } + } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index 60d315a070..e1616112ab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -20,13 +20,13 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.BgReading; +import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; import info.nightscout.androidaps.plugins.Treatments.Treatment; -import info.nightscout.androidaps.events.Event; -import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.FabricPrivacy; @@ -218,6 +218,8 @@ public class IobCobThread extends Thread { // figure out how many carbs that represents // but always assume at least 3mg/dL/5m (default) absorption per active treatment double ci = Math.max(deviation, totalMinCarbsImpact); + if (ci != deviation) + autosensData.failoverToMinAbsorbtionRate = true; autosensData.absorbed = ci * profile.getIc(bgTime) / sens; // and add that to the running total carbsAbsorbed autosensData.cob = Math.max(previous.cob - autosensData.absorbed, 0d); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index 9921d236a1..7cae0bd284 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -365,6 +365,7 @@ public class GraphData { // scale in % of vertical size (like 0.3) public void addCob(long fromTime, long toTime, boolean useForScale, double scale) { + List minFailoverActiveList = new ArrayList<>(); FixedLineGraphSeries cobSeries; List cobArray = new ArrayList<>(); Double maxCobValueFound = 0d; @@ -382,6 +383,8 @@ public class GraphData { maxCobValueFound = Math.max(maxCobValueFound, cob); lastCob = cob; } + if (autosensData.failoverToMinAbsorbtionRate) + minFailoverActiveList.add(autosensData); } } @@ -400,6 +403,10 @@ public class GraphData { cobScale.setMultiplier(maxY * scale / maxCobValueFound); addSeries(cobSeries); + + DataPointWithLabelInterface[] minFailover = new DataPointWithLabelInterface[minFailoverActiveList.size()]; + minFailover = minFailoverActiveList.toArray(minFailover); + addSeries(new PointsWithLabelGraphSeries<>(minFailover)); } // scale in % of vertical size (like 0.3) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java index 9c8e312fb6..8ac3be0ad8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/PointsWithLabelGraphSeries.java @@ -3,42 +3,46 @@ package info.nightscout.androidaps.plugins.Overview.graphExtensions; /** * GraphView * Copyright (C) 2014 Jonas Gehring - * + *

* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, * with the "Linking Exception", which can be found at the license.txt * file in this program. - * + *

* This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + *

* You should have received a copy of the GNU General Public License * with the "Linking Exception" along with this program; if not, * write to the author Jonas Gehring . + *

+ * Added by mike */ /** * Added by mike */ +import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; import android.graphics.Point; import android.graphics.Rect; import android.graphics.Typeface; -import android.util.TypedValue; -// Added by Rumen for scalable text -import android.content.Context; -import info.nightscout.androidaps.MainApp; + import com.jjoe64.graphview.GraphView; import com.jjoe64.graphview.series.BaseSeries; import java.util.Iterator; +import info.nightscout.androidaps.MainApp; + +// Added by Rumen for scalable text + /** * Series that plots the data as points. * The points can be different shapes or a @@ -74,7 +78,8 @@ public class PointsWithLabelGraphSeries e OPENAPSOFFLINE, EXERCISE, GENERAL, - GENERALWITHDURATION + GENERALWITHDURATION, + COBFAILOVER } /** @@ -148,7 +153,7 @@ public class PointsWithLabelGraphSeries e float scaleX = (float) (graphWidth / diffX); - int i=0; + int i = 0; while (values.hasNext()) { E value = values.next(); @@ -182,7 +187,7 @@ public class PointsWithLabelGraphSeries e } /* Fix a bug that continue to show the DOT after Y axis */ - if(x < 0) { + if (x < 0) { overdraw = true; } @@ -197,10 +202,10 @@ public class PointsWithLabelGraphSeries e // draw data point if (!overdraw) { - if (value.getShape() == Shape.BG) { + if (value.getShape() == Shape.BG || value.getShape() == Shape.COBFAILOVER) { mPaint.setStyle(Paint.Style.FILL); mPaint.setStrokeWidth(0); - canvas.drawCircle(endX, endY, scaledPxSize, mPaint); + canvas.drawCircle(endX, endY, value.getSize() * scaledPxSize, mPaint); } else if (value.getShape() == Shape.PREDICTION) { mPaint.setColor(value.getColor()); mPaint.setStyle(Paint.Style.FILL); @@ -211,20 +216,20 @@ public class PointsWithLabelGraphSeries e mPaint.setStrokeWidth(0); canvas.drawCircle(endX, endY, scaledPxSize / 3, mPaint); } else if (value.getShape() == Shape.RECTANGLE) { - canvas.drawRect(endX-scaledPxSize, endY-scaledPxSize, endX+scaledPxSize, endY+scaledPxSize, mPaint); + canvas.drawRect(endX - scaledPxSize, endY - scaledPxSize, endX + scaledPxSize, endY + scaledPxSize, mPaint); } else if (value.getShape() == Shape.TRIANGLE) { mPaint.setStrokeWidth(0); Point[] points = new Point[3]; - points[0] = new Point((int)endX, (int)(endY-scaledPxSize)); - points[1] = new Point((int)(endX+scaledPxSize), (int)(endY+scaledPxSize*0.67)); - points[2] = new Point((int)(endX-scaledPxSize), (int)(endY+scaledPxSize*0.67)); + points[0] = new Point((int) endX, (int) (endY - scaledPxSize)); + points[1] = new Point((int) (endX + scaledPxSize), (int) (endY + scaledPxSize * 0.67)); + points[2] = new Point((int) (endX - scaledPxSize), (int) (endY + scaledPxSize * 0.67)); drawArrows(points, canvas, mPaint); } else if (value.getShape() == Shape.BOLUS) { mPaint.setStrokeWidth(0); Point[] points = new Point[3]; - points[0] = new Point((int)endX, (int)(endY-scaledPxSize)); - points[1] = new Point((int)(endX+scaledPxSize), (int)(endY+scaledPxSize*0.67)); - points[2] = new Point((int)(endX-scaledPxSize), (int)(endY+scaledPxSize*0.67)); + points[0] = new Point((int) endX, (int) (endY - scaledPxSize)); + points[1] = new Point((int) (endX + scaledPxSize), (int) (endY + scaledPxSize * 0.67)); + points[2] = new Point((int) (endX - scaledPxSize), (int) (endY + scaledPxSize * 0.67)); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); drawArrows(points, canvas, mPaint); if (value.getLabel() != null) { @@ -234,15 +239,15 @@ public class PointsWithLabelGraphSeries e mPaint.setStrokeWidth(2); Point[] points = new Point[3]; float size = value.getSize() * scaledPxSize; - points[0] = new Point((int)endX, (int)(endY-size)); - points[1] = new Point((int)(endX+size), (int)(endY+size*0.67)); - points[2] = new Point((int)(endX-size), (int)(endY+size*0.67)); + points[0] = new Point((int) endX, (int) (endY - size)); + points[1] = new Point((int) (endX + size), (int) (endY + size * 0.67)); + points[2] = new Point((int) (endX - size), (int) (endY + size * 0.67)); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); drawArrows(points, canvas, mPaint); } else if (value.getShape() == Shape.EXTENDEDBOLUS) { mPaint.setStrokeWidth(0); if (value.getLabel() != null) { - Rect bounds = new Rect((int)endX, (int)endY + 3, (int) (xpluslength), (int) endY + 8); + Rect bounds = new Rect((int) endX, (int) endY + 3, (int) (xpluslength), (int) endY + 8); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); canvas.drawRect(bounds, mPaint); mPaint.setTextSize((float) (scaledTextSize)); @@ -254,7 +259,7 @@ public class PointsWithLabelGraphSeries e mPaint.setStrokeWidth(0); if (value.getLabel() != null) { //mPaint.setTextSize((int) (scaledPxSize * 3)); - mPaint.setTextSize((float) (scaledTextSize*1.2)); + mPaint.setTextSize((float) (scaledTextSize * 1.2)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD)); Rect bounds = new Rect(); mPaint.getTextBounds(value.getLabel(), 0, value.getLabel().length(), bounds); @@ -355,7 +360,7 @@ public class PointsWithLabelGraphSeries e * @param paint paint object */ private void drawArrows(Point[] point, Canvas canvas, Paint paint) { - float [] points = new float[8]; + float[] points = new float[8]; points[0] = point[0].x; points[1] = point[0].y; points[2] = point[1].x; @@ -368,10 +373,10 @@ public class PointsWithLabelGraphSeries e canvas.save(); canvas.drawVertices(Canvas.VertexMode.TRIANGLES, 8, points, 0, null, 0, null, 0, null, 0, 0, paint); Path path = new Path(); - path.moveTo(point[0].x , point[0].y); - path.lineTo(point[1].x,point[1].y); - path.lineTo(point[2].x,point[2].y); - canvas.drawPath(path,paint); + path.moveTo(point[0].x, point[0].y); + path.lineTo(point[1].x, point[1].y); + path.lineTo(point[2].x, point[2].y); + canvas.drawPath(path, paint); canvas.restore(); } @@ -381,7 +386,7 @@ public class PointsWithLabelGraphSeries e float py = endY + scaledPxSize; canvas.save(); canvas.rotate(-45, px, py); - mPaint.setTextSize((float) (scaledTextSize*0.8)); + mPaint.setTextSize((float) (scaledTextSize * 0.8)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.NORMAL)); mPaint.setFakeBoldText(true); mPaint.setTextAlign(Paint.Align.RIGHT); @@ -393,7 +398,7 @@ public class PointsWithLabelGraphSeries e float py = endY - scaledPxSize; canvas.save(); canvas.rotate(-45, px, py); - mPaint.setTextSize((float) (scaledTextSize*0.8)); + mPaint.setTextSize((float) (scaledTextSize * 0.8)); mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.NORMAL)); mPaint.setFakeBoldText(true); canvas.drawText(value.getLabel(), px + scaledPxSize, py, mPaint); From 0ab04c4d959dc0396b02b3fa61997bdb20c32125 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Apr 2018 12:28:07 +0200 Subject: [PATCH 11/32] fix cob scaling --- .../plugins/IobCobCalculator/AutosensData.java | 9 ++++++++- .../androidaps/plugins/Overview/graphData/GraphData.java | 4 +++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 97ea10b1a7..7d23862cef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -15,6 +15,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; +import info.nightscout.androidaps.plugins.Overview.graphExtensions.Scale; import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; import info.nightscout.androidaps.plugins.Treatments.Treatment; @@ -112,6 +113,12 @@ public class AutosensData implements DataPointWithLabelInterface { // ------- DataPointWithLabelInterface ------ + private Scale scale; + + public void setScale(Scale scale) { + this.scale = scale; + } + @Override public double getX() { return time; @@ -119,7 +126,7 @@ public class AutosensData implements DataPointWithLabelInterface { @Override public double getY() { - return cob; + return scale.transform(cob); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index 7cae0bd284..06ea2d6d65 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -383,8 +383,10 @@ public class GraphData { maxCobValueFound = Math.max(maxCobValueFound, cob); lastCob = cob; } - if (autosensData.failoverToMinAbsorbtionRate) + if (autosensData.failoverToMinAbsorbtionRate) { + autosensData.setScale(cobScale); minFailoverActiveList.add(autosensData); + } } } From 41b5636c1377962f6e421804f2d30d0073335c23 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Apr 2018 12:44:19 +0200 Subject: [PATCH 12/32] clear autosens cache on new preferences change --- .../androidaps/plugins/IobCobCalculator/AutosensData.java | 2 +- .../plugins/IobCobCalculator/IobCobCalculatorPlugin.java | 6 ++++-- .../androidaps/plugins/IobCobCalculator/IobCobThread.java | 3 ++- .../plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java | 2 +- .../plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java | 2 +- app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/pref_absorption_oref0.xml | 2 +- 7 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 7d23862cef..ea0ce7d4cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -46,7 +46,7 @@ public class AutosensData implements DataPointWithLabelInterface { min5minCarbImpact = t.carbs / (maxAbsorptionHours * 60 / 5) * sens / ic; log.debug("Min 5m carbs impact for " + carbs + "g @" + new Date(t.date).toLocaleString() + " for " + maxAbsorptionHours + "h calculated to " + min5minCarbImpact + " ISF: " + sens + " IC: " + ic); } else { - min5minCarbImpact = SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact); + min5minCarbImpact = SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java index f51c7f7a94..2241c256ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -74,7 +74,7 @@ public class IobCobCalculatorPlugin extends PluginBase { .neverVisible(true) .alwaysEnabled(true) ); - } + } @Override protected void onStart() { @@ -548,7 +548,9 @@ public class IobCobCalculatorPlugin extends PluginBase { } if (ev.isChanged(R.string.key_openapsama_autosens_period) || ev.isChanged(R.string.key_age) || - ev.isChanged(R.string.key_absorption_maxtime) + ev.isChanged(R.string.key_absorption_maxtime) || + ev.isChanged(R.string.key_openapsama_min_5m_carbimpact) || + ev.isChanged(R.string.key_absorption_cutoff) ) { stopCalculation("onEventPreferenceChange"); synchronized (dataLock) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index e1616112ab..a41f12764d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -17,6 +17,7 @@ import info.nightscout.androidaps.BuildConfig; import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.BgReading; @@ -212,7 +213,7 @@ public class IobCobThread extends Thread { } } else { //Oref sensitivity - totalMinCarbsImpact = SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact); + totalMinCarbsImpact = SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact); } // figure out how many carbs that represents diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java index 89739ef626..ed0fa1f0bb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java @@ -217,7 +217,7 @@ public class DetermineBasalAdapterAMAJS { if(mealData.usedMinCarbsImpact > 0){ mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); } else { - mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); + mProfile.put("min_5m_carbimpact", SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact)); } if (units.equals(Constants.MMOL)) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java index fe14147853..0c665c7f9f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java @@ -247,7 +247,7 @@ public class DetermineBasalAdapterSMBJS { if(mealData.usedMinCarbsImpact > 0){ mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); } else { - mProfile.put("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", SMBDefaults.min_5m_carbimpact)); + mProfile.put("min_5m_carbimpact", SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact)); } mProfile.put("remainingCarbsCap", SMBDefaults.remainingCarbsCap); mProfile.put("enableUAM", SP.getBoolean(R.string.key_use_uam, false)); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a0c4363c01..1e8d21ac37 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1004,4 +1004,5 @@ Time show_notes_entry_dialogs Show notes field in treatment dialogs + openapsama_min_5m_carbimpact diff --git a/app/src/main/res/xml/pref_absorption_oref0.xml b/app/src/main/res/xml/pref_absorption_oref0.xml index a194b754a9..4c3b11d283 100644 --- a/app/src/main/res/xml/pref_absorption_oref0.xml +++ b/app/src/main/res/xml/pref_absorption_oref0.xml @@ -15,7 +15,7 @@ android:maxLines="20" android:title="@string/openapsama_min_5m_carbimpact" android:dialogMessage="@string/openapsama_min_5m_carbimpact_summary" - android:key="openapsama_min_5m_carbimpact" /> + android:key="@string/key_openapsama_min_5m_carbimpact" /> Date: Fri, 20 Apr 2018 18:05:37 +0200 Subject: [PATCH 13/32] Enforce TBRs on enforceNew --- .../java/info/nightscout/androidaps/queue/CommandQueue.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index a514a85815..93b6f99db0 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -205,7 +205,7 @@ public class CommandQueue { // returns true if command is queued public boolean tempBasalAbsolute(double absoluteRate, int durationInMinutes, boolean enforceNew, Profile profile, Callback callback) { - if (isRunning(Command.CommandType.TEMPBASAL)) { + if (!enforceNew && isRunning(Command.CommandType.TEMPBASAL)) { if (callback != null) callback.result(executingNowError()).run(); return false; @@ -226,7 +226,7 @@ public class CommandQueue { // returns true if command is queued public boolean tempBasalPercent(Integer percent, int durationInMinutes, boolean enforceNew, Profile profile, Callback callback) { - if (isRunning(Command.CommandType.TEMPBASAL)) { + if (!enforceNew && isRunning(Command.CommandType.TEMPBASAL)) { if (callback != null) callback.result(executingNowError()).run(); return false; @@ -268,7 +268,7 @@ public class CommandQueue { // returns true if command is queued public boolean cancelTempBasal(boolean enforceNew, Callback callback) { - if (isRunning(Command.CommandType.TEMPBASAL)) { + if (!enforceNew && isRunning(Command.CommandType.TEMPBASAL)) { if (callback != null) callback.result(executingNowError()).run(); return false; From 870d23c08c2684bfbebd579ae40832db3332cda2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Apr 2018 22:13:20 +0200 Subject: [PATCH 14/32] fix bolus step for Dana pumps --- .../plugins/Overview/Dialogs/NewTreatmentDialog.java | 3 ++- .../androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java | 6 +++++- .../androidaps/plugins/PumpDanaRS/DanaRSPlugin.java | 7 ++++--- .../main/java/info/nightscout/utils/DecimalFormatter.java | 4 ++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java index f21ccac0e2..a315310dc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java @@ -35,6 +35,7 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; +import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.NumberPicker; import info.nightscout.utils.SafeParse; @@ -104,7 +105,7 @@ public class NewTreatmentDialog extends DialogFragment implements OnClickListene editInsulin = (NumberPicker) view.findViewById(R.id.treatments_newtreatment_insulinamount); editCarbs.setParams(0d, 0d, (double) maxCarbs, 1d, new DecimalFormat("0"), false, textWatcher); - editInsulin.setParams(0d, 0d, maxInsulin, ConfigBuilderPlugin.getActivePump().getPumpDescription().bolusStep, new DecimalFormat("0.00"), false, textWatcher); + editInsulin.setParams(0d, 0d, maxInsulin, ConfigBuilderPlugin.getActivePump().getPumpDescription().bolusStep, DecimalFormatter.pumpSupportedBolusFormat(), false, textWatcher); recordOnlyCheckbox = (CheckBox) view.findViewById(R.id.newtreatment_record_only); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java index fc57e72e01..ea83e6d4d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java @@ -304,7 +304,11 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte @Override public void getPumpStatus() { - if (sExecutionService != null) sExecutionService.getPumpStatus(); + if (sExecutionService != null) { + sExecutionService.getPumpStatus(); + pumpDescription.basalStep = pump.basalStep; + pumpDescription.bolusStep = pump.bolusStep; + } } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index 7655c0ff46..de1f146a51 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -178,8 +178,6 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte final Object o = new Object(); danaRSService.connect(from, mDeviceAddress, o); - pumpDescription.basalStep = pump.basalStep; - pumpDescription.bolusStep = pump.bolusStep; } } @@ -205,8 +203,11 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte @Override public void getPumpStatus() { - if (danaRSService != null) + if (danaRSService != null) { danaRSService.getPumpStatus(); + pumpDescription.basalStep = pump.basalStep; + pumpDescription.bolusStep = pump.bolusStep; + } } // DanaR interface diff --git a/app/src/main/java/info/nightscout/utils/DecimalFormatter.java b/app/src/main/java/info/nightscout/utils/DecimalFormatter.java index 6709b304d9..0f7164b690 100644 --- a/app/src/main/java/info/nightscout/utils/DecimalFormatter.java +++ b/app/src/main/java/info/nightscout/utils/DecimalFormatter.java @@ -46,13 +46,13 @@ public class DecimalFormatter { } public static String toPumpSupportedBolus(double value) { - return ConfigBuilderPlugin.getActivePump().getPumpDescription().bolusStep <= 0.01 + return ConfigBuilderPlugin.getActivePump().getPumpDescription().bolusStep <= 0.05 ? to2Decimal(value) : to1Decimal(value); } public static DecimalFormat pumpSupportedBolusFormat() { - return ConfigBuilderPlugin.getActivePump().getPumpDescription().bolusStep <= 0.01 + return ConfigBuilderPlugin.getActivePump().getPumpDescription().bolusStep <= 0.05 ? new DecimalFormat("0.00") : new DecimalFormat("0.0"); } From 883da922e56fd3adfc85929b2c45043edf5c0e75 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 20 Apr 2018 22:14:54 +0200 Subject: [PATCH 15/32] 1.60e-dev --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 72b483c9fe..16e3bfbe71 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ android { targetSdkVersion 25 multiDexEnabled true versionCode 1500 - version "1.60d-dev" + version "1.60e-dev" buildConfigField "String", "VERSION", '"' + version + '"' buildConfigField "String", "BUILDVERSION", generateGitBuild() testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" From c27ceb0a72907a7af70752c34799f8f4c54a18d6 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 00:02:15 +0200 Subject: [PATCH 16/32] better bolus error handling for Dana pumps --- .../plugins/PumpDanaR/DanaRPlugin.java | 18 +++-- .../plugins/PumpDanaR/comm/MsgBolusStart.java | 10 ++- .../comm/MsgBolusStartWithSpeed.java | 10 ++- .../services/DanaRExecutionService.java | 2 +- .../PumpDanaRKorean/DanaRKoreanPlugin.java | 20 +++-- .../services/DanaRKoreanExecutionService.java | 2 +- .../plugins/PumpDanaRS/DanaRSPlugin.java | 38 +++++---- ...aRS_Packet_Bolus_Set_Step_Bolus_Start.java | 81 ++++++++++--------- .../PumpDanaRS/services/DanaRSService.java | 2 +- .../plugins/PumpDanaRv2/DanaRv2Plugin.java | 28 ++++--- .../services/DanaRv2ExecutionService.java | 2 +- app/src/main/res/values/strings.xml | 1 + 12 files changed, 120 insertions(+), 94 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java index cbcf21cd48..280d37c273 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java @@ -18,6 +18,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStartWithSpeed; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.events.EventPreferenceChange; @@ -129,7 +130,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { // Plugin base interface @Override public String getName() { - return MainApp.instance().getString(R.string.danarpump); + return MainApp.gs(R.string.danarpump); } @Override @@ -158,10 +159,13 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) detailedBolusInfo.carbs, detailedBolusInfo.carbTime, t); PumpEnactResult result = new PumpEnactResult(); - result.success = connectionOK; + result.success = connectionOK && detailedBolusInfo.insulin == t.insulin; result.bolusDelivered = t.insulin; result.carbsDelivered = detailedBolusInfo.carbs; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + if (!result.success) + result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStartWithSpeed.errorCode); + else + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); detailedBolusInfo.insulin = t.insulin; @@ -173,7 +177,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.success = false; result.bolusDelivered = 0d; result.carbsDelivered = 0d; - result.comment = MainApp.instance().getString(R.string.danar_invalidinput); + result.comment = MainApp.gs(R.string.danar_invalidinput); log.error("deliverTreatment: Invalid input"); return result; } @@ -342,7 +346,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { PumpEnactResult result = new PumpEnactResult(); result.success = true; result.enacted = false; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = true; return result; } @@ -358,13 +362,13 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (!pump.isTempBasalInProgress) { result.success = true; result.isTempCancel = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("cancelRealTempBasal: OK"); return result; } else { result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); result.isTempCancel = true; log.error("cancelRealTempBasal: Failed to cancel temp basal"); return result; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java index 9173794199..7586edf825 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java @@ -11,6 +11,8 @@ import info.nightscout.utils.HardLimits; public class MsgBolusStart extends MessageBase { private static Logger log = LoggerFactory.getLogger(MsgBolusStart.class); + public static int errorCode; + public MsgBolusStart() { SetCommand(0x0102); } @@ -29,13 +31,13 @@ public class MsgBolusStart extends MessageBase { @Override public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 2) { + errorCode = intFromBuff(bytes, 0, 1); + if (errorCode != 2) { failed = true; - log.debug("Messsage response: " + result + " FAILED!!"); + log.debug("Messsage response: " + errorCode + " FAILED!!"); } else { if (Config.logDanaMessageDetail) - log.debug("Messsage response: " + result); + log.debug("Messsage response: " + errorCode + " OK"); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java index 3a33e9f866..dd4251a350 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java @@ -11,6 +11,8 @@ import info.nightscout.utils.HardLimits; public class MsgBolusStartWithSpeed extends MessageBase { private static Logger log = LoggerFactory.getLogger(MsgBolusStartWithSpeed.class); + public static int errorCode; + public MsgBolusStartWithSpeed() { SetCommand(0x0104); } @@ -30,13 +32,13 @@ public class MsgBolusStartWithSpeed extends MessageBase { @Override public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 2) { + errorCode = intFromBuff(bytes, 0, 1); + if (errorCode != 2) { failed = true; - log.debug("Messsage response: " + result + " FAILED!!"); + log.debug("Messsage response: " + errorCode + " FAILED!!"); } else { if (Config.logDanaMessageDetail) - log.debug("Messsage response: " + result); + log.debug("Messsage response: " + errorCode + " OK"); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java index eabf4fc94a..bee8dd1662 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java @@ -339,7 +339,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ } else { ConfigBuilderPlugin.getCommandQueue().readStatus("bolusOK", null); } - return true; + return !start.failed; } public boolean carbsEntry(int amount) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java index a3a39a30f1..f2150ebb7d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java @@ -18,14 +18,15 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.TemporaryBasal; -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.plugins.PumpDanaR.AbstractDanaRPlugin; +import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStart; import info.nightscout.androidaps.plugins.PumpDanaRKorean.services.DanaRKoreanExecutionService; +import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.Round; import info.nightscout.utils.SP; @@ -130,7 +131,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { // Plugin base interface @Override public String getName() { - return MainApp.instance().getString(R.string.danarkoreanpump); + return MainApp.gs(R.string.danarkoreanpump); } @Override @@ -159,10 +160,13 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { if (detailedBolusInfo.insulin > 0 || detailedBolusInfo.carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) detailedBolusInfo.carbs, detailedBolusInfo.carbTime, t); PumpEnactResult result = new PumpEnactResult(); - result.success = connectionOK; + result.success = connectionOK && detailedBolusInfo.insulin == t.insulin; result.bolusDelivered = t.insulin; result.carbsDelivered = detailedBolusInfo.carbs; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + if (!result.success) + result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStart.errorCode); + else + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); detailedBolusInfo.insulin = t.insulin; @@ -174,7 +178,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.success = false; result.bolusDelivered = 0d; result.carbsDelivered = 0d; - result.comment = MainApp.instance().getString(R.string.danar_invalidinput); + result.comment = MainApp.gs(R.string.danar_invalidinput); log.error("deliverTreatment: Invalid input"); return result; } @@ -343,7 +347,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { PumpEnactResult result = new PumpEnactResult(); result.success = true; result.enacted = false; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = true; return result; } @@ -359,13 +363,13 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { if (!pump.isTempBasalInProgress) { result.success = true; result.isTempCancel = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("cancelRealTempBasal: OK"); return result; } else { result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); result.isTempCancel = true; log.error("cancelRealTempBasal: Failed to cancel temp basal"); return result; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java index c136666d5e..2619453df7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java @@ -286,7 +286,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { mBolusingTreatment = null; ConfigBuilderPlugin.getCommandQueue().readStatus("bolusOK", null); - return true; + return !start.failed; } public boolean carbsEntry(int amount) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index de1f146a51..a2ec13d184 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -26,6 +26,7 @@ import info.nightscout.androidaps.data.ProfileStore; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.plugins.PumpDanaRS.comm.DanaRS_Packet_Bolus_Set_Step_Bolus_Start; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.interfaces.Constraint; @@ -369,7 +370,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte } // RS stores end time for bolus, we need to adjust time // default delivery speed is 12 sec/U - detailedBolusInfo.date = DateUtil.now() + (long)(speed * detailedBolusInfo.insulin * 1000); + detailedBolusInfo.date = DateUtil.now() + (long) (speed * detailedBolusInfo.insulin * 1000); // clean carbs to prevent counting them as twice because they will picked up as another record // I don't think it's necessary to copy DetailedBolusInfo right now for carbs records double carbs = detailedBolusInfo.carbs; @@ -385,10 +386,13 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = danaRSService.bolus(detailedBolusInfo.insulin, (int) carbs, DateUtil.now() + carbTime * 60 * 1000, t); PumpEnactResult result = new PumpEnactResult(); - result.success = connectionOK; + result.success = connectionOK && detailedBolusInfo.insulin == t.insulin; result.bolusDelivered = t.insulin; result.carbsDelivered = detailedBolusInfo.carbs; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + if (!result.success) + result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, DanaRS_Packet_Bolus_Set_Step_Bolus_Start.errorCode); + else + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); return result; @@ -397,7 +401,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.success = false; result.bolusDelivered = 0d; result.carbsDelivered = 0d; - result.comment = MainApp.instance().getString(R.string.danar_invalidinput); + result.comment = MainApp.gs(R.string.danar_invalidinput); log.error("deliverTreatment: Invalid input"); return result; } @@ -501,7 +505,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.isTempCancel = false; result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_invalidinput); + result.comment = MainApp.gs(R.string.danar_invalidinput); log.error("setTempBasalPercent: Invalid input"); return result; } @@ -513,7 +517,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.enacted = false; result.success = true; result.isTempCancel = false; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; @@ -531,7 +535,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (connectionOK && pump.isTempBasalInProgress && pump.tempBasalPercent == percent) { result.enacted = true; result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = false; result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; @@ -542,7 +546,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte } result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.tempbasaldeliveryerror); + result.comment = MainApp.gs(R.string.tempbasaldeliveryerror); log.error("setTempBasalPercent: Failed to set temp basal"); return result; } @@ -553,7 +557,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (connectionOK && pump.isTempBasalInProgress && pump.tempBasalPercent == percent) { result.enacted = true; result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = false; result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; @@ -564,7 +568,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte } result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); log.error("setHighTempBasalPercent: Failed to set temp basal"); return result; } @@ -580,7 +584,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (runningEB != null && Math.abs(runningEB.insulin - insulin) < getPumpDescription().extendedBolusStep) { result.enacted = false; result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.duration = pump.extendedBolusRemainingMinutes; result.absolute = pump.extendedBolusAbsoluteRate; result.isPercent = false; @@ -593,7 +597,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (connectionOK && pump.isExtendedInProgress && Math.abs(pump.extendedBolusAbsoluteRate - insulin) < getPumpDescription().extendedBolusStep) { result.enacted = true; result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = false; result.duration = pump.extendedBolusRemainingMinutes; result.absolute = pump.extendedBolusAbsoluteRate; @@ -605,7 +609,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte } result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); log.error("setExtendedBolus: Failed to extended bolus"); return result; } @@ -622,13 +626,13 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (!pump.isTempBasalInProgress) { result.success = true; result.isTempCancel = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("cancelRealTempBasal: OK"); return result; } else { result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); result.isTempCancel = true; log.error("cancelRealTempBasal: Failed to cancel temp basal"); return result; @@ -646,13 +650,13 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte } if (!pump.isExtendedInProgress) { result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("cancelExtendedBolus: OK"); return result; } else { result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); log.error("cancelExtendedBolus: Failed to cancel extended bolus"); return result; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java index 12f2fa95c6..f90dd77b74 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java @@ -7,58 +7,63 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.Constraint; -import info.nightscout.utils.HardLimits; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Step_Bolus_Start.class); + private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Step_Bolus_Start.class); - private double amount; - private int speed; + private double amount; + private int speed; - public boolean failed; + public boolean failed; + public static int errorCode; - public DanaRS_Packet_Bolus_Set_Step_Bolus_Start() { + public DanaRS_Packet_Bolus_Set_Step_Bolus_Start() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__SET_STEP_BOLUS_START; } // Speed 0 => 12 sec/U, 1 => 30 sec/U, 2 => 60 sec/U - public DanaRS_Packet_Bolus_Set_Step_Bolus_Start(double amount, int speed) { - this(); + public DanaRS_Packet_Bolus_Set_Step_Bolus_Start(double amount, int speed) { + this(); - // HARDCODED LIMIT - amount = MainApp.getConstraintChecker().applyBolusConstraints(new Constraint<>(amount)).value(); + // HARDCODED LIMIT + amount = MainApp.getConstraintChecker().applyBolusConstraints(new Constraint<>(amount)).value(); - this.amount = amount; - this.speed = speed; + this.amount = amount; + this.speed = speed; - if (Config.logDanaMessageDetail) - log.debug("Bolus start : " + amount + " speed: " + speed); - } + if (Config.logDanaMessageDetail) + log.debug("Bolus start : " + amount + " speed: " + speed); + } - @Override - public byte[] getRequestParams() { - int stepBolusRate = (int) (amount * 100); - byte[] request = new byte[3]; - request[0] = (byte) (stepBolusRate & 0xff); - request[1] = (byte) ((stepBolusRate >>> 8) & 0xff); - request[2] = (byte) (speed & 0xff); - return request; - } - @Override - public void handleMessage(byte[] data) { - int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { - if (result == 0) - log.debug("Result OK"); - else - log.error("Result Error: " + result); - } - } + @Override + public byte[] getRequestParams() { + int stepBolusRate = (int) (amount * 100); + byte[] request = new byte[3]; + request[0] = (byte) (stepBolusRate & 0xff); + request[1] = (byte) ((stepBolusRate >>> 8) & 0xff); + request[2] = (byte) (speed & 0xff); + return request; + } - @Override - public String getFriendlyName() { - return "BOLUS__SET_STEP_BOLUS_START"; - } + @Override + public void handleMessage(byte[] data) { + errorCode = intFromBuff(data, 0, 1); + if (Config.logDanaMessageDetail) { + if (errorCode == 0) + log.debug("Result OK"); + else { + failed = true; + log.error("Result Error: " + errorCode); + } + } + } + + @Override + public String getFriendlyName() { + return "BOLUS__SET_STEP_BOLUS_START"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java index 384c1a3772..91859c759a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java @@ -273,7 +273,7 @@ public class DanaRSService extends Service { MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.disconnecting))); } }); - return true; + return !start.failed; } public void bolusStop() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java index 81c5d4d944..0ea6f192e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java @@ -22,6 +22,7 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.plugins.ConfigBuilder.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.PumpDanaR.AbstractDanaRPlugin; +import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStartWithSpeed; import info.nightscout.androidaps.plugins.PumpDanaRv2.services.DanaRv2ExecutionService; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; @@ -119,7 +120,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { // Plugin base interface @Override public String getName() { - return MainApp.instance().getString(R.string.danarv2pump); + return MainApp.gs(R.string.danarv2pump); } @Override @@ -173,10 +174,13 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { if (detailedBolusInfo.insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, DateUtil.now() + carbTime * 60 * 1000, t); PumpEnactResult result = new PumpEnactResult(); - result.success = connectionOK; + result.success = connectionOK && detailedBolusInfo.insulin == t.insulin; result.bolusDelivered = t.insulin; result.carbsDelivered = detailedBolusInfo.carbs; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + if (!result.success) + result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStartWithSpeed.errorCode); + else + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); // remove carbs because it's get from history seprately @@ -186,7 +190,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.success = false; result.bolusDelivered = 0d; result.carbsDelivered = 0d; - result.comment = MainApp.instance().getString(R.string.danar_invalidinput); + result.comment = MainApp.gs(R.string.danar_invalidinput); log.error("deliverTreatment: Invalid input"); return result; } @@ -287,7 +291,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.isTempCancel = false; result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_invalidinput); + result.comment = MainApp.gs(R.string.danar_invalidinput); log.error("setTempBasalPercent: Invalid input"); return result; } @@ -299,7 +303,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.enacted = false; result.success = true; result.isTempCancel = false; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; @@ -317,7 +321,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { if (connectionOK && pump.isTempBasalInProgress && pump.tempBasalPercent == percent) { result.enacted = true; result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = false; result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; @@ -328,7 +332,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { } result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.tempbasaldeliveryerror); + result.comment = MainApp.gs(R.string.tempbasaldeliveryerror); log.error("setTempBasalPercent: Failed to set temp basal"); return result; } @@ -339,7 +343,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { if (connectionOK && pump.isTempBasalInProgress && pump.tempBasalPercent == percent) { result.enacted = true; result.success = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); result.isTempCancel = false; result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; @@ -350,7 +354,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { } result.enacted = false; result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); log.error("setHighTempBasalPercent: Failed to set temp basal"); return result; } @@ -367,13 +371,13 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { if (!pump.isTempBasalInProgress) { result.success = true; result.isTempCancel = true; - result.comment = MainApp.instance().getString(R.string.virtualpump_resultok); + result.comment = MainApp.gs(R.string.virtualpump_resultok); if (Config.logPumpActions) log.debug("cancelRealTempBasal: OK"); return result; } else { result.success = false; - result.comment = MainApp.instance().getString(R.string.danar_valuenotsetproperly); + result.comment = MainApp.gs(R.string.danar_valuenotsetproperly); result.isTempCancel = true; log.error("cancelRealTempBasal: Failed to cancel temp basal"); return result; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java index 551c2684c0..25cac9da1c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java @@ -386,7 +386,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.disconnecting))); } }); - return true; + return !start.failed; } public void bolusStop() { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1e8d21ac37..c2839b19d8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1005,4 +1005,5 @@ show_notes_entry_dialogs Show notes field in treatment dialogs openapsama_min_5m_carbimpact + Asked: %.2fU Delivered: %.2fU Error code: %d From cb65bed0a74ec25259c0dc774238784fb4c836d6 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 10:20:49 +0200 Subject: [PATCH 17/32] alling code to xdrip changes --- .../nightscout/androidaps/plugins/Source/SourceXdripPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java index f47d25abb1..bd3d96162e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java @@ -35,6 +35,6 @@ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { } public void setSource(String source) { - this.advancedFiltering = "G5 Native".equals(source); + this.advancedFiltering = source.contains("G5 Native"); } } From c0250dd62c254df9e4d27951867fbbde108edeb9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 10:50:55 +0200 Subject: [PATCH 18/32] show calculation cob progress on graph --- .../IobCobCalculator/IobCobThread.java | 4 ++ .../events/EventIobCalculationProgress.java | 11 ++++++ .../plugins/Overview/OverviewFragment.java | 31 ++++++++-------- .../res/layout/activity_historybrowse.xml | 7 ++++ app/src/main/res/layout/overview_fragment.xml | 37 +++++++++++-------- .../res/layout/overview_fragment_nsclient.xml | 7 ++++ .../overview_fragment_nsclient_tablet.xml | 7 ++++ .../layout/overview_fragment_smallheight.xml | 7 ++++ 8 files changed, 81 insertions(+), 30 deletions(-) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventIobCalculationProgress.java diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index a41f12764d..c4309ce2f1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -24,6 +24,7 @@ import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; +import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.SensitivityAAPS.SensitivityAAPSPlugin; import info.nightscout.androidaps.plugins.SensitivityWeightedAverage.SensitivityWeightedAveragePlugin; @@ -97,6 +98,8 @@ public class IobCobThread extends Thread { AutosensData previous = autosensDataTable.get(prevDataTime); // start from oldest to be able sub cob for (int i = bucketed_data.size() - 4; i >= 0; i--) { + MainApp.bus().post(new EventIobCalculationProgress(i + "/" + bucketed_data.size())); + if (iobCobCalculatorPlugin.stopCalculationTrigger) { iobCobCalculatorPlugin.stopCalculationTrigger = false; log.debug("Aborting calculation thread (trigger): " + from); @@ -269,6 +272,7 @@ public class IobCobThread extends Thread { log.debug("Finishing calculation thread: " + from); } finally { mWakeLock.release(); + MainApp.bus().post(new EventIobCalculationProgress("")); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventIobCalculationProgress.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventIobCalculationProgress.java new file mode 100644 index 0000000000..08f2747e60 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventIobCalculationProgress.java @@ -0,0 +1,11 @@ +package info.nightscout.androidaps.plugins.IobCobCalculator.events; + +import info.nightscout.androidaps.events.Event; + +public class EventIobCalculationProgress extends Event { + public String progress; + + public EventIobCalculationProgress(String progress) { + this.progress = progress; + } +} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index b22d0450e0..26f20a7eb9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -5,7 +5,6 @@ import android.app.Activity; import android.app.NotificationManager; import android.content.ActivityNotFoundException; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; @@ -15,10 +14,8 @@ import android.os.Handler; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; -import android.support.v4.content.ContextCompat; import android.support.v4.content.res.ResourcesCompat; import android.support.v7.app.AlertDialog; -import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.PopupMenu; import android.support.v7.widget.RecyclerView; @@ -33,7 +30,6 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.ImageButton; @@ -52,8 +48,6 @@ import org.slf4j.LoggerFactory; import java.text.DecimalFormat; import java.util.Calendar; import java.util.Date; -import java.util.List; -import java.util.Objects; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; @@ -97,9 +91,9 @@ import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; +import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification; -import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastAckAlarm; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSDeviceStatus; import info.nightscout.androidaps.plugins.Overview.Dialogs.CalibrationDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; @@ -108,10 +102,8 @@ import info.nightscout.androidaps.plugins.Overview.Dialogs.NewInsulinDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.NewTreatmentDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.WizardDialog; import info.nightscout.androidaps.plugins.Overview.activities.QuickWizardListActivity; -import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventSetWakeLock; import info.nightscout.androidaps.plugins.Overview.graphData.GraphData; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.notifications.NotificationRecyclerViewAdapter; import info.nightscout.androidaps.plugins.Overview.notifications.NotificationStore; import info.nightscout.androidaps.plugins.Source.SourceDexcomG5Plugin; @@ -150,6 +142,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, TextView pumpDeviceStatusView; TextView openapsDeviceStatusView; TextView uploaderDeviceStatusView; + TextView iobCalculationProgressView; LinearLayout loopStatusLayout; LinearLayout pumpStatusLayout; GraphView bgGraph; @@ -245,6 +238,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, pumpDeviceStatusView = (TextView) view.findViewById(R.id.overview_pump); openapsDeviceStatusView = (TextView) view.findViewById(R.id.overview_openaps); uploaderDeviceStatusView = (TextView) view.findViewById(R.id.overview_uploader); + iobCalculationProgressView = (TextView) view.findViewById(R.id.overview_iobcalculationprogess); loopStatusLayout = (LinearLayout) view.findViewById(R.id.overview_looplayout); pumpStatusLayout = (LinearLayout) view.findViewById(R.id.overview_pumpstatuslayout); @@ -911,15 +905,22 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, activity.runOnUiThread(() -> updatePumpStatus(s.textStatus())); } + @Subscribe + public void onStatusEvent(final EventIobCalculationProgress e) { + Activity activity = getActivity(); + if (activity != null) + activity.runOnUiThread(() -> { + if (iobCalculationProgressView != null) + iobCalculationProgressView.setText(e.progress); + }); + } + private void hideTempRecommendation() { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - if (acceptTempLayout != null) - acceptTempLayout.setVisibility(View.GONE); - } + activity.runOnUiThread(() -> { + if (acceptTempLayout != null) + acceptTempLayout.setVisibility(View.GONE); }); } diff --git a/app/src/main/res/layout/activity_historybrowse.xml b/app/src/main/res/layout/activity_historybrowse.xml index 88946033f4..1d52560eff 100644 --- a/app/src/main/res/layout/activity_historybrowse.xml +++ b/app/src/main/res/layout/activity_historybrowse.xml @@ -96,6 +96,13 @@ android:paddingTop="5dp" app:srcCompat="@drawable/ic_arrow_drop_down_white_24dp" /> + + - + - + + + @@ -299,8 +306,8 @@ + android:orientation="horizontal" + android:paddingRight="5dp"> + + + + + + Date: Sat, 21 Apr 2018 12:09:09 +0200 Subject: [PATCH 19/32] allow to show dev slope in dev --- .../info/nightscout/androidaps/Config.java | 2 -- .../androidaps/HistoryBrowseActivity.java | 25 +++++++++++---- .../plugins/Overview/OverviewFragment.java | 31 ++++++++++++------- .../plugins/Overview/graphData/GraphData.java | 26 ++++++++-------- app/src/main/res/values/colors.xml | 2 ++ 5 files changed, 54 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index afb40421df..a12e0a9ea0 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -23,8 +23,6 @@ public class Config { public static final boolean SMSCOMMUNICATORENABLED = !BuildConfig.NSCLIENTOLNY && !BuildConfig.G5UPLOADER; - public static final boolean displayDeviationSlope = false; - public static final boolean detailedLog = true; public static final boolean logFunctionCalls = true; public static final boolean logIncommingData = true; diff --git a/app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java b/app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java index a9243ab995..cf3d1fc34c 100644 --- a/app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java @@ -46,7 +46,7 @@ public class HistoryBrowseActivity extends AppCompatActivity { ImageButton chartButton; boolean showBasal = true; - boolean showIob, showCob, showDev, showRat; + boolean showIob, showCob, showDev, showRat, showDevslope; @BindView(R.id.historybrowse_date) @@ -267,6 +267,7 @@ public class HistoryBrowseActivity extends AppCompatActivity { boolean useCobForScale = false; boolean useDevForScale = false; boolean useRatioForScale = false; + boolean useDevSlopeForScale = false; if (showIob) { useIobForScale = true; @@ -276,6 +277,8 @@ public class HistoryBrowseActivity extends AppCompatActivity { useDevForScale = true; } else if (showRat) { useRatioForScale = true; + } else if (showDevslope) { + useDevSlopeForScale = true; } if (showIob) @@ -286,6 +289,8 @@ public class HistoryBrowseActivity extends AppCompatActivity { secondGraphData.addDeviations(fromTime, toTime, useDevForScale, 1d); if (showRat) secondGraphData.addRatio(fromTime, toTime, useRatioForScale, 1d); + if (showDevslope) + secondGraphData.addDeviationSlope(fromTime, toTime, useDevSlopeForScale, 1d); // **** NOW line **** // set manual x bounds to have nice steps @@ -293,7 +298,7 @@ public class HistoryBrowseActivity extends AppCompatActivity { secondGraphData.addNowLine(pointer); // do GUI update - if (showIob || showCob || showDev || showRat) { + if (showIob || showCob || showDev || showRat || showDevslope) { iobGraph.setVisibility(View.VISIBLE); } else { iobGraph.setVisibility(View.GONE); @@ -354,23 +359,31 @@ public class HistoryBrowseActivity extends AppCompatActivity { item.setCheckable(true); item.setChecked(showRat); + if (MainApp.devBranch) { + item = popup.getMenu().add(Menu.NONE, OverviewFragment.CHARTTYPE.DEVSLOPE.ordinal(), Menu.NONE, "Deviation slope"); + title = item.getTitle(); + s = new SpannableString(title); + s.setSpan(new ForegroundColorSpan(ResourcesCompat.getColor(getResources(), R.color.devslopepos, null)), 0, s.length(), 0); + item.setTitle(s); + item.setCheckable(true); + item.setChecked(showDevslope); + } + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if (item.getItemId() == OverviewFragment.CHARTTYPE.BAS.ordinal()) { showBasal = !item.isChecked(); - } else if (item.getItemId() == OverviewFragment.CHARTTYPE.IOB.ordinal()) { showIob = !item.isChecked(); - } else if (item.getItemId() == OverviewFragment.CHARTTYPE.COB.ordinal()) { showCob = !item.isChecked(); - } else if (item.getItemId() == OverviewFragment.CHARTTYPE.DEV.ordinal()) { showDev = !item.isChecked(); - } else if (item.getItemId() == OverviewFragment.CHARTTYPE.SEN.ordinal()) { showRat = !item.isChecked(); + } else if (item.getItemId() == OverviewFragment.CHARTTYPE.DEVSLOPE.ordinal()) { + showDevslope = !item.isChecked(); } updateGUI("onGraphCheckboxesCheckedChanged"); return true; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index 26f20a7eb9..8f00c18d75 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -184,9 +184,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, final Object updateSync = new Object(); - public enum CHARTTYPE {PRE, BAS, IOB, COB, DEV, SEN} - - ; + public enum CHARTTYPE {PRE, BAS, IOB, COB, DEV, SEN, DEVSLOPE} private static final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor(); private static ScheduledFuture scheduledUpdate = null; @@ -410,26 +408,33 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, item.setCheckable(true); item.setChecked(SP.getBoolean("showratios", false)); + if (MainApp.devBranch) { + item = popup.getMenu().add(Menu.NONE, CHARTTYPE.DEVSLOPE.ordinal(), Menu.NONE, "Deviation slope"); + title = item.getTitle(); + s = new SpannableString(title); + s.setSpan(new ForegroundColorSpan(ResourcesCompat.getColor(getResources(), R.color.devslopepos, null)), 0, s.length(), 0); + item.setTitle(s); + item.setCheckable(true); + item.setChecked(SP.getBoolean("showdevslope", false)); + } + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if (item.getItemId() == CHARTTYPE.PRE.ordinal()) { SP.putBoolean("showprediction", !item.isChecked()); - } else if (item.getItemId() == CHARTTYPE.BAS.ordinal()) { SP.putBoolean("showbasals", !item.isChecked()); - } else if (item.getItemId() == CHARTTYPE.IOB.ordinal()) { SP.putBoolean("showiob", !item.isChecked()); - } else if (item.getItemId() == CHARTTYPE.COB.ordinal()) { SP.putBoolean("showcob", !item.isChecked()); - } else if (item.getItemId() == CHARTTYPE.DEV.ordinal()) { SP.putBoolean("showdeviations", !item.isChecked()); - } else if (item.getItemId() == CHARTTYPE.SEN.ordinal()) { SP.putBoolean("showratios", !item.isChecked()); + } else if (item.getItemId() == CHARTTYPE.DEVSLOPE.ordinal()) { + SP.putBoolean("showdevslope", !item.isChecked()); } scheduleUpdateGUI("onGraphCheckboxesCheckedChanged"); return true; @@ -1387,7 +1392,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, useDevForScale = true; } else if (SP.getBoolean("showratios", false)) { useRatioForScale = true; - } else if (Config.displayDeviationSlope) { + } else if (SP.getBoolean("showdevslope", false)) { useDSForScale = true; } @@ -1399,7 +1404,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, secondGraphData.addDeviations(fromTime, now, useDevForScale, 1d); if (SP.getBoolean("showratios", false)) secondGraphData.addRatio(fromTime, now, useRatioForScale, 1d); - if (Config.displayDeviationSlope) + if (SP.getBoolean("showdevslope", false)) secondGraphData.addDeviationSlope(fromTime, now, useDSForScale, 1d); // **** NOW line **** @@ -1411,7 +1416,11 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, FragmentActivity activity = getActivity(); if (activity != null) { activity.runOnUiThread(() -> { - if (SP.getBoolean("showiob", true) || SP.getBoolean("showcob", true) || SP.getBoolean("showdeviations", false) || SP.getBoolean("showratios", false) || Config.displayDeviationSlope) { + if (SP.getBoolean("showiob", true) + || SP.getBoolean("showcob", true) + || SP.getBoolean("showdeviations", false) + || SP.getBoolean("showratios", false) + || SP.getBoolean("showdevslope", false)) { iobGraph.setVisibility(View.VISIBLE); } else { iobGraph.setVisibility(View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index 06ea2d6d65..1bf59db4de 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -108,7 +108,7 @@ public class GraphData { inRangeAreaSeries = new AreaGraphSeries<>(inRangeAreaDataPoints); inRangeAreaSeries.setColor(0); inRangeAreaSeries.setDrawBackground(true); - inRangeAreaSeries.setBackgroundColor(MainApp.sResources.getColor(R.color.inrangebackground)); + inRangeAreaSeries.setBackgroundColor(MainApp.gc(R.color.inrangebackground)); addSeries(inRangeAreaSeries); } @@ -184,14 +184,14 @@ public class GraphData { baseBasal = baseBasalArray.toArray(baseBasal); baseBasalsSeries = new LineGraphSeries<>(baseBasal); baseBasalsSeries.setDrawBackground(true); - baseBasalsSeries.setBackgroundColor(MainApp.sResources.getColor(R.color.basebasal)); + baseBasalsSeries.setBackgroundColor(MainApp.gc(R.color.basebasal)); baseBasalsSeries.setThickness(0); ScaledDataPoint[] tempBasal = new ScaledDataPoint[tempBasalArray.size()]; tempBasal = tempBasalArray.toArray(tempBasal); tempBasalsSeries = new LineGraphSeries<>(tempBasal); tempBasalsSeries.setDrawBackground(true); - tempBasalsSeries.setBackgroundColor(MainApp.sResources.getColor(R.color.tempbasal)); + tempBasalsSeries.setBackgroundColor(MainApp.gc(R.color.tempbasal)); tempBasalsSeries.setThickness(0); ScaledDataPoint[] basalLine = new ScaledDataPoint[basalLineArray.size()]; @@ -201,7 +201,7 @@ public class GraphData { paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(MainApp.instance().getApplicationContext().getResources().getDisplayMetrics().scaledDensity * 2); paint.setPathEffect(new DashPathEffect(new float[]{2, 4}, 0)); - paint.setColor(MainApp.sResources.getColor(R.color.basal)); + paint.setColor(MainApp.gc(R.color.basal)); basalsLineSeries.setCustomPaint(paint); ScaledDataPoint[] absoluteBasalLine = new ScaledDataPoint[absoluteBasalLineArray.size()]; @@ -210,7 +210,7 @@ public class GraphData { Paint absolutePaint = new Paint(); absolutePaint.setStyle(Paint.Style.STROKE); absolutePaint.setStrokeWidth(MainApp.instance().getApplicationContext().getResources().getDisplayMetrics().scaledDensity * 2); - absolutePaint.setColor(MainApp.sResources.getColor(R.color.basal)); + absolutePaint.setColor(MainApp.gc(R.color.basal)); absoluteBasalsLineSeries.setCustomPaint(absolutePaint); basalScale.setMultiplier(maxY * scale / maxBasalValueFound); @@ -259,7 +259,7 @@ public class GraphData { targets = targetsSeriesArray.toArray(targets); targetsSeries = new LineGraphSeries<>(targets); targetsSeries.setDrawBackground(false); - targetsSeries.setColor(MainApp.sResources.getColor(R.color.tempTargetBackground)); + targetsSeries.setColor(MainApp.gc(R.color.tempTargetBackground)); targetsSeries.setThickness(2); addSeries(targetsSeries); @@ -351,8 +351,8 @@ public class GraphData { iobData = iobArray.toArray(iobData); iobSeries = new FixedLineGraphSeries<>(iobData); iobSeries.setDrawBackground(true); - iobSeries.setBackgroundColor(0x80FFFFFF & MainApp.sResources.getColor(R.color.iob)); //50% - iobSeries.setColor(MainApp.sResources.getColor(R.color.iob)); + iobSeries.setBackgroundColor(0x80FFFFFF & MainApp.gc(R.color.iob)); //50% + iobSeries.setColor(MainApp.gc(R.color.iob)); iobSeries.setThickness(3); if (useForScale) @@ -395,8 +395,8 @@ public class GraphData { cobData = cobArray.toArray(cobData); cobSeries = new FixedLineGraphSeries<>(cobData); cobSeries.setDrawBackground(true); - cobSeries.setBackgroundColor(0xB0FFFFFF & MainApp.sResources.getColor(R.color.cob)); //50% - cobSeries.setColor(MainApp.sResources.getColor(R.color.cob)); + cobSeries.setBackgroundColor(0xB0FFFFFF & MainApp.gc(R.color.cob)); //50% + cobSeries.setColor(MainApp.gc(R.color.cob)); cobSeries.setThickness(3); if (useForScale) @@ -477,7 +477,7 @@ public class GraphData { ScaledDataPoint[] ratioData = new ScaledDataPoint[ratioArray.size()]; ratioData = ratioArray.toArray(ratioData); ratioSeries = new LineGraphSeries<>(ratioData); - ratioSeries.setColor(MainApp.sResources.getColor(R.color.ratio)); + ratioSeries.setColor(MainApp.gc(R.color.ratio)); ratioSeries.setThickness(3); if (useForScale) @@ -513,13 +513,13 @@ public class GraphData { ScaledDataPoint[] ratioMaxData = new ScaledDataPoint[dsMaxArray.size()]; ratioMaxData = dsMaxArray.toArray(ratioMaxData); dsMaxSeries = new LineGraphSeries<>(ratioMaxData); - dsMaxSeries.setColor(Color.MAGENTA); + dsMaxSeries.setColor(MainApp.gc(R.color.devslopepos)); dsMaxSeries.setThickness(3); ScaledDataPoint[] ratioMinData = new ScaledDataPoint[dsMinArray.size()]; ratioMinData = dsMinArray.toArray(ratioMinData); dsMinSeries = new LineGraphSeries<>(ratioMinData); - dsMinSeries.setColor(Color.YELLOW); + dsMinSeries.setColor(MainApp.gc(R.color.devslopeneg)); dsMinSeries.setThickness(3); if (useForScale) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index a0b229946e..4aa21abf19 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -8,6 +8,8 @@ #ffea00 #ff9500 #FFFFFF + #FFFFFF00 + #FFFF00FF #00FF00 #FF0000 #FFFF00 From 9c6ee32586be0860c2b92f6b80fa10dc51386255 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sat, 21 Apr 2018 14:08:42 +0200 Subject: [PATCH 20/32] Don't send future carbs to pumps. --- .../androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java index bd489971c2..d3e5986f77 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java @@ -431,7 +431,7 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, C carbInfo.context = getContext(); carbInfo.source = Source.USER; carbInfo.notes = notes; - if (ConfigBuilderPlugin.getActivePump().getPumpDescription().storesCarbInfo) { + if (ConfigBuilderPlugin.getActivePump().getPumpDescription().storesCarbInfo && carbInfo.date <= now()) { ConfigBuilderPlugin.getCommandQueue().bolus(carbInfo, new Callback() { @Override public void run() { From 3d7cdd3819ef417b6c7f87ba1abd0712e9e90653 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 19:51:52 +0200 Subject: [PATCH 21/32] fix ns backfill bug --- .../java/info/nightscout/androidaps/Services/DataService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java index 3e0bbf9c74..17dea50108 100644 --- a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java @@ -130,7 +130,7 @@ public class DataService extends IntentService { handleNewDataFromDexcomG5(intent); } } else if (Intents.ACTION_NEW_SGV.equals(action)) { - if (nsClientEnabled || SP.getBoolean(R.string.ns_autobackfill, true)) + if (nsClientEnabled || SP.getBoolean(R.string.key_ns_autobackfill, true)) handleNewDataFromNSClient(intent); // Objectives 0 ObjectivesPlugin.bgIsAvailableInNS = true; From ea594583831fc5acaae1a876ae254261b92cf0ae Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 20:46:55 +0200 Subject: [PATCH 22/32] nsclient preferences cleanup --- .../androidaps/PreferencesActivity.java | 7 +- .../main/res/xml/pref_nsclientinternal.xml | 82 ++++++++++--------- 2 files changed, 45 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java index b6b117381f..52984d3697 100644 --- a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java @@ -67,7 +67,7 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre MainApp.bus().post(new EventRefreshGui()); } if (key.equals(MainApp.gs(R.string.key_openapsama_useautosens)) && SP.getBoolean(R.string.key_openapsama_useautosens, false)) { - OKDialog.show(this, MainApp.sResources.getString(R.string.configbuilder_sensitivity), MainApp.sResources.getString(R.string.sensitivity_warning), null); + OKDialog.show(this, MainApp.gs(R.string.configbuilder_sensitivity), MainApp.gs(R.string.sensitivity_warning), null); } updatePrefSummary(myPreferenceFragment.getPreference(key)); } @@ -81,13 +81,13 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre EditTextPreference editTextPref = (EditTextPreference) pref; if (pref.getKey().contains("password") || pref.getKey().contains("secret")) { pref.setSummary("******"); - } else if (pref.getKey().equals(MainApp.sResources.getString(R.string.key_danars_name))) { + } else if (pref.getKey().equals(MainApp.gs(R.string.key_danars_name))) { pref.setSummary(SP.getString(R.string.key_danars_name, "")); } else if (editTextPref.getText() != null && !editTextPref.getText().equals("")) { ((EditTextPreference) pref).setDialogMessage(editTextPref.getDialogMessage()); pref.setSummary(editTextPref.getText()); } else if (pref.getKey().contains("smscommunicator_allowednumbers") && TextUtils.isEmpty(editTextPref.getText().trim())) { - pref.setSummary(MainApp.sResources.getString(R.string.smscommunicator_allowednumbers_summary)); + pref.setSummary(MainApp.gs(R.string.smscommunicator_allowednumbers_summary)); } } } @@ -127,7 +127,6 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre if (id != -1) { addPreferencesFromResource(id); - addPreferencesFromResource(R.xml.pref_advanced); } else { addPreferencesFromResource(R.xml.pref_overview); diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/app/src/main/res/xml/pref_nsclientinternal.xml index f6972cd179..f07251929a 100644 --- a/app/src/main/res/xml/pref_nsclientinternal.xml +++ b/app/src/main/res/xml/pref_nsclientinternal.xml @@ -2,7 +2,6 @@ - - - - - - - + android:title="@string/nsalarm_urgenthigh" /> + android:title="@string/nsalarm_high" /> - + android:title="@string/nsalarm_low" /> + android:title="@string/nsalarm_urgentlow" /> + android:title="@string/nsalarm_staledata" /> + validate:maxNumber="120" + validate:minNumber="15" + validate:testType="numericRange" /> + android:title="@string/nsalarm_urgentstaledata" /> + validate:maxNumber="180" + validate:minNumber="30" + validate:testType="numericRange" /> + + + + + + + + + + From fe762248a53bfe9a26a37025fe656e1a9eab57d4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 21:14:09 +0200 Subject: [PATCH 23/32] nsclient preferences cleanup --- app/src/main/res/xml/pref_advanced.xml | 16 -------------- .../main/res/xml/pref_nsclientinternal.xml | 22 ++++++++++++++++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/src/main/res/xml/pref_advanced.xml b/app/src/main/res/xml/pref_advanced.xml index 260e2c5135..f5ab617946 100644 --- a/app/src/main/res/xml/pref_advanced.xml +++ b/app/src/main/res/xml/pref_advanced.xml @@ -5,22 +5,6 @@ android:key="advanced" android:title="@string/advancedsettings_title"> - - - - - - + + + + + + + + From cab592efb526cf6a08f9a9375bae877d4bb66e0e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 21:31:42 +0200 Subject: [PATCH 24/32] overview preferences cleanup --- .../androidaps/PreferencesActivity.java | 3 +- app/src/main/res/xml/pref_advanced.xml | 7 - app/src/main/res/xml/pref_overview.xml | 146 ++++++++++-------- 3 files changed, 87 insertions(+), 69 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java index 52984d3697..915e1ef00d 100644 --- a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java @@ -128,7 +128,6 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre if (id != -1) { addPreferencesFromResource(id); } else { - addPreferencesFromResource(R.xml.pref_overview); if (!Config.NSCLIENT && !Config.G5UPLOADER) { addPreferencesFromResource(R.xml.pref_password); @@ -136,6 +135,8 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre addPreferencesFromResource(R.xml.pref_age); addPreferencesFromResource(R.xml.pref_language); + addPreferencesFromResource(R.xml.pref_overview); + if (!Config.NSCLIENT && !Config.G5UPLOADER) { addPreferencesFromResource(R.xml.pref_quickwizard); } diff --git a/app/src/main/res/xml/pref_advanced.xml b/app/src/main/res/xml/pref_advanced.xml index f5ab617946..1ca031a94e 100644 --- a/app/src/main/res/xml/pref_advanced.xml +++ b/app/src/main/res/xml/pref_advanced.xml @@ -5,13 +5,6 @@ android:key="advanced" android:title="@string/advancedsettings_title"> - - - + + + + + android:title="@string/overview_calculator_label" /> + - + + - + + + android:inputType="numberDecimal|numberSigned" + android:key="@string/key_insulin_button_increment_3" + android:maxLines="20" + android:selectAllOnFocus="true" + android:singleLine="true" + android:title="Third insulin increment" + validate:floatmaxNumber="5.0" + validate:floatminNumber="-5.0" + validate:testType="floatNumericRange" /> + - + + - + + + android:inputType="numberSigned" + android:key="@string/key_carbs_button_increment_3" + android:maxLines="20" + android:selectAllOnFocus="true" + android:singleLine="true" + android:title="Third carbs increment" + validate:maxNumber="50" + validate:minNumber="-50" + validate:testType="numericRange" /> + android:summary="@string/show_cgm_button_summary" + android:title="CGM" /> + + android:summary="@string/show_calibration_button_summary" + android:title="@string/overview_calibration" /> + + + + + + + + + \ No newline at end of file From 1f55078aa308a07c75395ba6a4151b46150a8e0d Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 21 Apr 2018 21:37:50 +0200 Subject: [PATCH 25/32] extract strings from overview preferences --- app/src/main/res/values/strings.xml | 7 +++++++ app/src/main/res/xml/pref_overview.xml | 20 ++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c2839b19d8..b368e5336f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1006,4 +1006,11 @@ Show notes field in treatment dialogs openapsama_min_5m_carbimpact Asked: %.2fU Delivered: %.2fU Error code: %d + First insulin increment + Second insulin increment + Third insulin increment + First carbs increment + Second carbs increment + Third carbs increment + CGM diff --git a/app/src/main/res/xml/pref_overview.xml b/app/src/main/res/xml/pref_overview.xml index 0b17bb7400..5a4836be53 100644 --- a/app/src/main/res/xml/pref_overview.xml +++ b/app/src/main/res/xml/pref_overview.xml @@ -9,7 +9,7 @@ + android:title="@string/treatments" /> + android:title="@string/configbuilder_insulin" /> @@ -44,7 +44,7 @@ android:maxLines="20" android:selectAllOnFocus="true" android:singleLine="true" - android:title="Second insulin increment" + android:title="@string/secondinsulinincrement" validate:floatmaxNumber="5.0" validate:floatminNumber="-5.0" validate:testType="floatNumericRange" /> @@ -58,7 +58,7 @@ android:maxLines="20" android:selectAllOnFocus="true" android:singleLine="true" - android:title="Third insulin increment" + android:title="@string/thirdinsulinincrement" validate:floatmaxNumber="5.0" validate:floatminNumber="-5.0" validate:testType="floatNumericRange" /> @@ -66,7 +66,7 @@ + android:title="@string/carbs" /> @@ -91,7 +91,7 @@ android:maxLines="20" android:selectAllOnFocus="true" android:singleLine="true" - android:title="Second carbs increment" + android:title="@string/secondcarbsincrement" validate:maxNumber="50" validate:minNumber="-50" validate:testType="numericRange" /> @@ -105,7 +105,7 @@ android:maxLines="20" android:selectAllOnFocus="true" android:singleLine="true" - android:title="Third carbs increment" + android:title="@string/thirdcarbsincrement" validate:maxNumber="50" validate:minNumber="-50" validate:testType="numericRange" /> @@ -114,7 +114,7 @@ android:defaultValue="false" android:key="@string/key_show_cgm_button" android:summary="@string/show_cgm_button_summary" - android:title="CGM" /> + android:title="@string/cgm" /> Date: Sat, 21 Apr 2018 21:58:07 +0200 Subject: [PATCH 26/32] move quickwizard preferences under overview --- .../nightscout/androidaps/PreferencesActivity.java | 3 --- app/src/main/res/xml/pref_overview.xml | 6 ++++++ app/src/main/res/xml/pref_quickwizard.xml | 12 ------------ 3 files changed, 6 insertions(+), 15 deletions(-) delete mode 100644 app/src/main/res/xml/pref_quickwizard.xml diff --git a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java index 915e1ef00d..a59a22e965 100644 --- a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java @@ -137,9 +137,6 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre addPreferencesFromResource(R.xml.pref_overview); - if (!Config.NSCLIENT && !Config.G5UPLOADER) { - addPreferencesFromResource(R.xml.pref_quickwizard); - } addPreferencesFromResourceIfEnabled(SourceDexcomG5Plugin.getPlugin(), PluginType.BGSOURCE); addPreferencesFromResourceIfEnabled(CareportalPlugin.getPlugin(), PluginType.GENERAL); addPreferencesFromResourceIfEnabled(SafetyPlugin.getPlugin(), PluginType.CONSTRAINTS); diff --git a/app/src/main/res/xml/pref_overview.xml b/app/src/main/res/xml/pref_overview.xml index 5a4836be53..5d08cd671e 100644 --- a/app/src/main/res/xml/pref_overview.xml +++ b/app/src/main/res/xml/pref_overview.xml @@ -129,6 +129,12 @@ + + + + - - - - - - - - \ No newline at end of file From d82a24873f6addbd34f7ab1028a9c3a0a50902aa Mon Sep 17 00:00:00 2001 From: TebbeUbben Date: Sat, 21 Apr 2018 22:47:38 +0200 Subject: [PATCH 27/32] Use SightRemote's history broadcast permission --- app/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 00d59f09bb..e8ed6a2f7f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,6 +18,7 @@ + From fd776a2a0eda5e2b3fc5da2ad1a01ab0d61669a6 Mon Sep 17 00:00:00 2001 From: TebbeUbben Date: Sat, 21 Apr 2018 23:20:33 +0200 Subject: [PATCH 28/32] Add 0%-TBR to history when pump has been started or stopped --- app/libs/sightparser-release.aar | Bin 202440 -> 203059 bytes .../history/HistoryIntentAdapter.java | 56 ++++++++++++++---- .../PumpInsight/history/HistoryReceiver.java | 4 ++ app/src/main/res/values-de/strings.xml | 3 + app/src/main/res/values/strings.xml | 3 + 5 files changed, 56 insertions(+), 10 deletions(-) diff --git a/app/libs/sightparser-release.aar b/app/libs/sightparser-release.aar index 4e474e608ec43954c73edb13f808065edc521148..0d656738d24594734d2dc9798c48ce2c8f8d3a1a 100644 GIT binary patch delta 189652 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%0AK^)(|IG9LQtBAqW{^t)p+L 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 z%0D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 z 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%0AHE>dpfQ};p;(Lv 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 diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java index 1ddc4fd4b7..c3cab11772 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java @@ -161,18 +161,54 @@ class HistoryIntentAdapter { Date date = getDateExtra(intent, HistoryBroadcast.EXTRA_EVENT_TIME); String alertType = intent.getStringExtra(HistoryBroadcast.EXTRA_ALERT_TYPE); if (MainApp.getDbHelper().getCareportalEventFromTimestamp(date.getTime()) != null) return; - try { - JSONObject data = new JSONObject(); - String enteredBy = SP.getString("careportal_enteredby", ""); - if (!enteredBy.equals("")) data.put("enteredBy", enteredBy); - data.put("created_at", DateUtil.toISOString(date)); - data.put("eventType", CareportalEvent.NOTE); - data.put("notes", MainApp.instance().getString(getAlertText(alertType))); - NSUpload.uploadCareportalEntryToNS(data); - } catch (JSONException e) { - e.printStackTrace(); + logNote(date, MainApp.instance().getString(getAlertText(alertType))); + } + } + + void processPumpStatusChangedIntent(Intent intent) { + Date newStatusTime = getDateExtra(intent, HistoryBroadcast.EXTRA_EVENT_TIME); + if (SP.getBoolean("insight_automatic_careportal_events", false)) { + String newStatus = intent.getStringExtra(HistoryBroadcast.EXTRA_NEW_STATUS); + switch (newStatus) { + case "STARTED": + logNote(newStatusTime, MainApp.instance().getString(R.string.pump_started)); + break; + case "STOPPED": + logNote(newStatusTime, MainApp.instance().getString(R.string.pump_stopped)); + break; + case "PAUSED": + logNote(newStatusTime, MainApp.instance().getString(R.string.pump_paused)); + break; } } + if (intent.hasExtra(HistoryBroadcast.EXTRA_OLD_STATUS_TIME)) { + String oldStatus = intent.getStringExtra(HistoryBroadcast.EXTRA_OLD_STATUS); + if (oldStatus.equals("STOPPED") ||oldStatus.equals("PAUSED")) { + Date oldStatusTime = getDateExtra(intent, HistoryBroadcast.EXTRA_OLD_STATUS_TIME); + int duration = (int) ((newStatusTime.getTime() - oldStatusTime.getTime()) / 60000); + + long serialNumber = Long.parseLong(intent.getStringExtra(HistoryBroadcast.EXTRA_PUMP_SERIAL_NUMBER)); + long recordId = intent.getLongExtra(HistoryBroadcast.EXTRA_EVENT_NUMBER, -1); + long uniqueRecordId = getRecordUniqueID(serialNumber, recordId); + + logAdapter.createTBRrecord(oldStatusTime, 0, duration, uniqueRecordId); + } + } + } + + private void logNote(Date date, String note) { + try { + if (MainApp.getDbHelper().getCareportalEventFromTimestamp(date.getTime()) != null) return; + JSONObject data = new JSONObject(); + String enteredBy = SP.getString("careportal_enteredby", ""); + if (!enteredBy.equals("")) data.put("enteredBy", enteredBy); + data.put("created_at", DateUtil.toISOString(date)); + data.put("eventType", CareportalEvent.NOTE); + data.put("notes", note); + NSUpload.uploadCareportalEntryToNS(data); + } catch (JSONException e) { + e.printStackTrace(); + } } private int getAlertText(String type) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryReceiver.java index 0e254e3341..efce8d7a40 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryReceiver.java @@ -47,6 +47,7 @@ public class HistoryReceiver { filter.addAction(ACTION_CARTRIDGE_INSERTED); filter.addAction(ACTION_BATTERY_INSERTED); filter.addAction(ACTION_OCCURENCE_OF_ALERT); + filter.addAction(ACTION_PUMP_STATUS_CHANGED); MainApp.instance().registerReceiver(historyReceiver, filter); } @@ -108,6 +109,9 @@ public class HistoryReceiver { case ACTION_OCCURENCE_OF_ALERT: intentAdapter.processOccurenceOfAlertIntent(intent); break; + case ACTION_PUMP_STATUS_CHANGED: + intentAdapter.processPumpStatusChangedIntent(intent); + break; } } }; diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a07ec4b40c..19783b9c08 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -735,4 +735,7 @@ Zeit/Datum des abgegebenen Boluses auf der Pumpe erscheint falsch, IOB ist wahrscheinlich nicht korrekt. Bitte prüfe Zeit/Datum der Pumpe. Anzahl TBRs Anzahl Boluse + Pumpe gestoppt + Pumpe pausiert + Pumpe gestartet diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index abdb0e1160..4776691fdd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -995,4 +995,7 @@ openapsmb_max_iob Maximum total IOB OpenAPS can\'t go over [U] This value is called Max IOB in OpenAPS context\nOpenAPS will not add more insulin if current IOB is greater than this value + Pump stopped + Pump paused + Pump started From 7c971197c77aab8087c734341c5e2b7de2c60e42 Mon Sep 17 00:00:00 2001 From: TebbeUbben Date: Sat, 21 Apr 2018 23:29:23 +0200 Subject: [PATCH 29/32] Swapped pump started and paused strings inadvertently --- app/src/main/res/values-de/strings.xml | 4 ++-- app/src/main/res/values/strings.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 19783b9c08..2f51b46c1f 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -736,6 +736,6 @@ Anzahl TBRs Anzahl Boluse Pumpe gestoppt - Pumpe pausiert - Pumpe gestartet + Pumpe gestartet + Pumpe pausiert diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4cb737b3f4..cce0d0d716 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1000,8 +1000,8 @@ Maximum total IOB OpenAPS can\'t go over [U] This value is called Max IOB in OpenAPS context\nOpenAPS will not add more insulin if current IOB is greater than this value Pump stopped - Pump paused - Pump started + Pump started + Pump paused Meal max absorption time [h] Time at which any meal is considered absorbed. Remaining carbs will be cut off. Time From 89a29d150ffe53903d5172093732a1160a7bf058 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sun, 22 Apr 2018 00:08:41 +0200 Subject: [PATCH 30/32] Fix delay in COB calculation. --- .../plugins/IobCobCalculator/IobCobThread.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index c4309ce2f1..c37730b227 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -34,6 +34,8 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SP; +import static info.nightscout.utils.DateUtil.now; + /** * Created by mike on 23.01.2018. */ @@ -76,24 +78,22 @@ public class IobCobThread extends Thread { } //log.debug("Locking calculateSensitivityData"); - Object dataLock = iobCobCalculatorPlugin.dataLock; - long oldestTimeWithData = iobCobCalculatorPlugin.oldestDataAvailable(); - synchronized (dataLock) { + synchronized (iobCobCalculatorPlugin.dataLock) { if (bgDataReload) { iobCobCalculatorPlugin.loadBgData(start); iobCobCalculatorPlugin.createBucketedData(); } List bucketed_data = iobCobCalculatorPlugin.getBucketedData(); - LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); + LongSparseArray autosensDataTable = IobCobCalculatorPlugin.getPlugin().getAutosensDataTable(); if (bucketed_data == null || bucketed_data.size() < 3) { log.debug("Aborting calculation thread (No bucketed data available): " + from); return; } - long prevDataTime = iobCobCalculatorPlugin.roundUpTime(bucketed_data.get(bucketed_data.size() - 3).date); + long prevDataTime = IobCobCalculatorPlugin.roundUpTime(bucketed_data.get(bucketed_data.size() - 3).date); log.debug("Prev data time: " + new Date(prevDataTime).toLocaleString()); AutosensData previous = autosensDataTable.get(prevDataTime); // start from oldest to be able sub cob @@ -107,10 +107,9 @@ public class IobCobThread extends Thread { } // check if data already exists long bgTime = bucketed_data.get(i).date; - bgTime = iobCobCalculatorPlugin.roundUpTime(bgTime); - if (bgTime > System.currentTimeMillis()) + bgTime = IobCobCalculatorPlugin.roundUpTime(bgTime); + if (bgTime > IobCobCalculatorPlugin.roundUpTime(now())) continue; - Profile profile = MainApp.getConfigBuilder().getProfile(bgTime); AutosensData existing; if ((existing = autosensDataTable.get(bgTime)) != null) { @@ -118,6 +117,7 @@ public class IobCobThread extends Thread { continue; } + Profile profile = MainApp.getConfigBuilder().getProfile(bgTime); if (profile == null) { log.debug("Aborting calculation thread (no profile): " + from); return; // profile not set yet @@ -161,7 +161,7 @@ public class IobCobThread extends Thread { // https://github.com/openaps/oref0/blob/master/lib/determine-basal/cob-autosens.js#L169 if (i < bucketed_data.size() - 16) { // we need 1h of data to calculate minDeviationSlope long hourago = bgTime + 10 * 1000 - 60 * 60 * 1000L; - AutosensData hourAgoData = iobCobCalculatorPlugin.getAutosensData(hourago); + AutosensData hourAgoData = IobCobCalculatorPlugin.getPlugin().getAutosensData(hourago); if (hourAgoData != null) { int initialIndex = autosensDataTable.indexOfKey(hourAgoData.time); if (Config.logAutosensData) From 2844be85b5ccf1150ce98d7c881bd943d1320b6f Mon Sep 17 00:00:00 2001 From: TebbeUbben Date: Sun, 22 Apr 2018 13:44:12 +0200 Subject: [PATCH 31/32] Don't create TBR record when pump has been paused --- .../plugins/PumpInsight/history/HistoryIntentAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java index c3cab11772..244537af3e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java @@ -183,7 +183,7 @@ class HistoryIntentAdapter { } if (intent.hasExtra(HistoryBroadcast.EXTRA_OLD_STATUS_TIME)) { String oldStatus = intent.getStringExtra(HistoryBroadcast.EXTRA_OLD_STATUS); - if (oldStatus.equals("STOPPED") ||oldStatus.equals("PAUSED")) { + if (oldStatus.equals("STOPPED")) { Date oldStatusTime = getDateExtra(intent, HistoryBroadcast.EXTRA_OLD_STATUS_TIME); int duration = (int) ((newStatusTime.getTime() - oldStatusTime.getTime()) / 60000); From 6851adbfd3d31aa9b6ee2689d3da26b12efe6c68 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 22 Apr 2018 18:24:06 +0200 Subject: [PATCH 32/32] NSClient connection settings --- app/src/main/AndroidManifest.xml | 11 ++- .../androidaps/events/EventNetworkChange.java | 10 +++ .../NSClientInternal/NSClientPlugin.java | 44 +++++++++++- .../services/NSClientService.java | 7 +- .../receivers/NetworkChangeReceiver.java | 67 +++++++++++++++++++ app/src/main/res/values/strings.xml | 8 +++ .../main/res/xml/pref_nsclientinternal.xml | 22 +++++- 7 files changed, 162 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/info/nightscout/androidaps/events/EventNetworkChange.java create mode 100644 app/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e8ed6a2f7f..ca4bff0dd5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,9 +15,10 @@ - + + @@ -112,6 +113,14 @@ + + + + + + + + Second carbs increment Third carbs increment CGM + ns_wifionly + ns_wifi_ssids + ns_allowroaming + Use WiFi connection only + WiFi SSID + Connection settings + Allowed SSIDs (semicolon separated) + Allow connection in roaming diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/app/src/main/res/xml/pref_nsclientinternal.xml index d1e09a563d..0567885a2c 100644 --- a/app/src/main/res/xml/pref_nsclientinternal.xml +++ b/app/src/main/res/xml/pref_nsclientinternal.xml @@ -85,7 +85,27 @@ - + + + + + + + + + + +