diff --git a/apps/widalarmeta/ChangeLog b/apps/widalarmeta/ChangeLog index 1ef003586..3c46a77ba 100644 --- a/apps/widalarmeta/ChangeLog +++ b/apps/widalarmeta/ChangeLog @@ -12,3 +12,4 @@ 0.08: Selectable font. Allow to disable hour padding. 0.09: Match draw() API e.g. to allow wid_edit to alter this widget 0.10: Change 4x5 font to 6x8, teletext is now default font +0.11: Bugfix: handle changes in alarms (e.g. done without a load, such as via fastload) diff --git a/apps/widalarmeta/metadata.json b/apps/widalarmeta/metadata.json index b23c2039c..d43da013c 100644 --- a/apps/widalarmeta/metadata.json +++ b/apps/widalarmeta/metadata.json @@ -2,7 +2,7 @@ "id": "widalarmeta", "name": "Alarm & Timer ETA", "shortName": "Alarm ETA", - "version": "0.10", + "version": "0.11", "description": "A widget that displays the time to the next Alarm or Timer in hours and minutes, maximum 24h (configurable).", "icon": "widget.png", "type": "widget", diff --git a/apps/widalarmeta/widget.js b/apps/widalarmeta/widget.js index 42f47cd5c..926ff2516 100644 --- a/apps/widalarmeta/widget.js +++ b/apps/widalarmeta/widget.js @@ -21,6 +21,7 @@ function getNextAlarm(date) { const alarms = require("sched") .getAlarms() + // more precise filtering is done using getTimeToAlarm() below .filter(alarm => alarm.on && alarm.hidden !== true); WIDGETS["widalarmeta"].numActiveAlarms = alarms.length; @@ -123,11 +124,15 @@ area:"tl", width: 0, // hide by default = assume no timer draw:draw, - reload: () => { + reload: function () { + this.nextAlarm = undefined; + loadSettings(); g.clear(); Bangle.drawWidgets(); }, }; + + Bangle.on("alarmReload", () => WIDGETS["widalarmeta"].reload()); } })();