diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java index d85291adb0..f3b9636c0b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java @@ -804,9 +804,11 @@ public class ComboPlugin implements PluginBase, PumpInterface, ConstraintsInterf if (state.pumpTime == 0) { // time couldn't be read (e.g. a warning is displayed on the menu , hiding the time field) } else if (Math.abs(state.pumpTime - System.currentTimeMillis()) >= 10 * 60 * 1000) { + log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.sResources.getString(R.string.combo_notification_check_time_date), Notification.URGENT); MainApp.bus().post(new EventNewNotification(notification)); } else if (Math.abs(state.pumpTime - System.currentTimeMillis()) >= 3 * 60 * 1000) { + log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.sResources.getString(R.string.combo_notification_check_time_date), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); } diff --git a/ruffyscripter/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java b/ruffyscripter/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java index 3cee006ae6..c61b80cc6d 100644 --- a/ruffyscripter/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java +++ b/ruffyscripter/src/main/java/de/jotomo/ruffyscripter/RuffyScripter.java @@ -520,10 +520,16 @@ public class RuffyScripter implements RuffyCommands { state.insulinState = ((int) menu.getAttribute(MenuAttribute.INSULIN_STATE)); } if (menu.attributes().contains(MenuAttribute.TIME)) { - MenuTime time = (MenuTime) menu.getAttribute(MenuAttribute.TIME); + MenuTime pumpTime = (MenuTime) menu.getAttribute(MenuAttribute.TIME); Date date = new Date(); - date.setHours(time.getHour()); - date.setMinutes(time.getMinute()); + // infer yesterday as the pump's date if midnight just passed, but the pump is + // a bit behind + if (date.getHours() == 0 && date.getMinutes() <= 5 + && pumpTime.getHour() == 23 && pumpTime.getMinute() >= 55) { + date.setTime(date.getTime() - 24 * 60 * 60 * 1000); + } + date.setHours(pumpTime.getHour()); + date.setMinutes(pumpTime.getMinute()); date.setSeconds(0); state.pumpTime = date.getTime() - date.getTime() % 1000; }