From c36217eb705293c1a34afb17dad46d92bfefa18d Mon Sep 17 00:00:00 2001 From: Navid Date: Mon, 1 Apr 2024 09:23:03 -0400 Subject: [PATCH 1/3] Treatment reminder only for 3 minutes in the future --- .../java/com/eveningoutpost/dexdrip/models/Treatments.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/models/Treatments.java b/app/src/main/java/com/eveningoutpost/dexdrip/models/Treatments.java index a328958dae..fdcb7de632 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/models/Treatments.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/models/Treatments.java @@ -249,13 +249,14 @@ public static synchronized Treatments create(final double carbs, final double in } public static synchronized Treatments create(final double carbs, final double insulinSum, final List insulin, long timestamp, String suggested_uuid) { - // if treatment more than 1 minutes in the future final long future_seconds = (timestamp - JoH.tsl()) / 1000; + // if treatment more than 1 hour in the future if (future_seconds > (60 * 60)) { JoH.static_toast_long("Refusing to create a treatement more than 1 hours in the future!"); return null; } - if ((future_seconds > 60) && (future_seconds < 86400) && ((carbs > 0) || (insulinSum > 0))) { + // if treatment more than 3 minutes in the future + if ((future_seconds > (3 * 60)) && (future_seconds < 86400) && ((carbs > 0) || (insulinSum > 0))) { final Context context = xdrip.getAppContext(); JoH.scheduleNotification(context, "Treatment Reminder", "@" + JoH.hourMinuteString(timestamp) + " : " + carbs + " g " + context.getString(R.string.carbs) + " / " From b2bc51b9269710766cfd3dd56d594bfedb170983 Mon Sep 17 00:00:00 2001 From: tim Date: Wed, 15 May 2024 13:32:08 +0200 Subject: [PATCH 2/3] When predictions are enabled, only rescale the X axis when the time period is not always locked; and if it is locked, center the display on the current bg value, not the last prediction. --- .../main/java/com/eveningoutpost/dexdrip/Home.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java index c9d392b963..4cfd9b1c82 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java @@ -2296,8 +2296,12 @@ private void setHoursViewPort(final String source) { break; } - float ideal_hours_to_show = DEFAULT_CHART_HOURS + bgGraphBuilder.getPredictivehours(); - // always show at least the ideal number of hours if locked or auto + // always show at least the ideal number of hours + float ideal_hours_to_show = DEFAULT_CHART_HOURS; + // ... and rescale to accommodate predictions if not locked + if (! homeShelf.get("time_locked_always")) { + ideal_hours_to_show += bgGraphBuilder.getPredictivehours(); + } float hours_to_show = exactHoursSpecified ? hours : Math.max(hours, ideal_hours_to_show); UserError.Log.d(TAG, "VIEWPORT " + source + " moveviewport in setHours: asked " + hours + " vs auto " + ideal_hours_to_show + " = " + hours_to_show + " full chart width: " + bgGraphBuilder.hoursShownOnChart()); @@ -2308,6 +2312,12 @@ private void setHoursViewPort(final String source) { holdViewport.top = maxViewPort.top; holdViewport.bottom = maxViewPort.bottom; + // if locked, center display on current bg values, not predictions + if (homeShelf.get("time_locked_always")) { + holdViewport.left -= hour_width * bgGraphBuilder.getPredictivehours(); + holdViewport.right -= hour_width * bgGraphBuilder.getPredictivehours(); + } + if (d) { UserError.Log.d(TAG, "HOLD VIEWPORT " + holdViewport); UserError.Log.d(TAG, "MAX VIEWPORT " + maxViewPort); From 9e78be6150028d895f781a159802d496c99e1ec9 Mon Sep 17 00:00:00 2001 From: Navid Date: Thu, 16 May 2024 14:16:18 -0400 Subject: [PATCH 3/3] Huawei wake workaround --- .../eveningoutpost/dexdrip/utils/framework/BuggySamsung.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/utils/framework/BuggySamsung.java b/app/src/main/java/com/eveningoutpost/dexdrip/utils/framework/BuggySamsung.java index 1e05077812..697f0b4d30 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/utils/framework/BuggySamsung.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/utils/framework/BuggySamsung.java @@ -70,7 +70,8 @@ public static boolean isSamsung() { return Build.MANUFACTURER.toLowerCase().contains("samsung") || Build.MANUFACTURER.toLowerCase().contains("xiaomi") || Build.MANUFACTURER.toLowerCase().contains("oneplus") // experimental test - || Build.MANUFACTURER.toLowerCase().contains("oppo"); // experimental test + || Build.MANUFACTURER.toLowerCase().contains("oppo") // experimental test + || Build.MANUFACTURER.toLowerCase().contains("huawei"); // experimental test } }