From 0dd67533acf4234bc5ea39d1948e9019a7963f54 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 3 Mar 2024 19:28:52 +0000 Subject: [PATCH] sched: emit alarmReload, widalarm reload on alarmReload --- apps/sched/ChangeLog | 1 + apps/sched/lib.js | 5 +---- apps/sched/metadata.json | 2 +- apps/widalarm/ChangeLog | 1 + apps/widalarm/metadata.json | 2 +- apps/widalarm/widget.js | 6 ++++++ 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/sched/ChangeLog b/apps/sched/ChangeLog index 1d1c53ac1..98cedd5ad 100644 --- a/apps/sched/ChangeLog +++ b/apps/sched/ChangeLog @@ -24,3 +24,4 @@ 0.21: Fix crash in clock_info 0.22: Dated event repeat option 0.23: Allow buzzing forever when an alarm fires +0.24: Emit alarmReload when alarms change (used by widalarm) diff --git a/apps/sched/lib.js b/apps/sched/lib.js index c8961b9e3..02b27e1f8 100644 --- a/apps/sched/lib.js +++ b/apps/sched/lib.js @@ -55,10 +55,7 @@ exports.getTimeToAlarm = function(alarm, time) { /// Force a reload of the current alarms and widget exports.reload = function() { eval(require("Storage").read("sched.boot.js")); - if (global.WIDGETS && WIDGETS["alarm"]) { - WIDGETS["alarm"].reload(); - Bangle.drawWidgets(); - } + Bangle.emit("alarmReload"); }; // Factory that creates a new alarm with default values exports.newDefaultAlarm = function () { diff --git a/apps/sched/metadata.json b/apps/sched/metadata.json index 7f94a0a18..dba3bc160 100644 --- a/apps/sched/metadata.json +++ b/apps/sched/metadata.json @@ -1,7 +1,7 @@ { "id": "sched", "name": "Scheduler", - "version": "0.23", + "version": "0.24", "description": "Scheduling library for alarms and timers", "icon": "app.png", "type": "scheduler", diff --git a/apps/widalarm/ChangeLog b/apps/widalarm/ChangeLog index 63568a9bd..a26c63b9f 100644 --- a/apps/widalarm/ChangeLog +++ b/apps/widalarm/ChangeLog @@ -1 +1,2 @@ 0.01: Moved out of 'alarm' app +0.02: Decouple reloading of widget when alarms change diff --git a/apps/widalarm/metadata.json b/apps/widalarm/metadata.json index b91457138..e3cb2d0c1 100644 --- a/apps/widalarm/metadata.json +++ b/apps/widalarm/metadata.json @@ -1,7 +1,7 @@ { "id": "widalarm", "name": "Alarms Widget", - "version": "0.01", + "version": "0.02", "description": "Displays an alarm icon in the widgets bar if any alarm is active", "icon": "app.png", "type": "widget", diff --git a/apps/widalarm/widget.js b/apps/widalarm/widget.js index 964176fc7..15fb0b9a3 100644 --- a/apps/widalarm/widget.js +++ b/apps/widalarm/widget.js @@ -6,3 +6,9 @@ WIDGETS["alarm"]={area:"tl",width:0,draw:function() { } }; WIDGETS["alarm"].reload(); +Bangle.on("alarmReload", () => { + if (WIDGETS["alarm"]) { + WIDGETS["alarm"].reload(); + Bangle.drawWidgets(); + } +});