From 1839f7d52d8e8ee9e323b21a7b0bbf458e8a8450 Mon Sep 17 00:00:00 2001 From: Kedlub Date: Wed, 18 Jan 2023 14:11:35 +0100 Subject: [PATCH 1/6] Alarm snooze and dismiss events --- apps/sched/ChangeLog | 1 + apps/sched/metadata.json | 2 +- apps/sched/sched.js | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/sched/ChangeLog b/apps/sched/ChangeLog index 6813345b7..ae931e99e 100644 --- a/apps/sched/ChangeLog +++ b/apps/sched/ChangeLog @@ -20,3 +20,4 @@ 0.17: Fix midnight in local timezone (alarms wouldn't always fire as expected in timezone != 0) 0.18: Update clock_info to avoid a redraw 0.19: Update clock_info to refresh periodically on active alarms/timers +0.20: Alarm dismiss and snooze events \ No newline at end of file diff --git a/apps/sched/metadata.json b/apps/sched/metadata.json index 9ffc28524..a56cec042 100644 --- a/apps/sched/metadata.json +++ b/apps/sched/metadata.json @@ -1,7 +1,7 @@ { "id": "sched", "name": "Scheduler", - "version": "0.19", + "version": "0.20", "description": "Scheduling library for alarms and timers", "icon": "app.png", "type": "scheduler", diff --git a/apps/sched/sched.js b/apps/sched/sched.js index b0fe21d91..f2f2644f9 100644 --- a/apps/sched/sched.js +++ b/apps/sched/sched.js @@ -36,6 +36,7 @@ function showAlarm(alarm) { alarm.ot = alarm.t; } alarm.t += settings.defaultSnoozeMillis; + Bangle.emit("alarmSnooze", alarm); } else { let del = alarm.del === undefined ? settings.defaultDeleteExpiredTimers : alarm.del; if (del) { @@ -52,6 +53,7 @@ function showAlarm(alarm) { alarm.on = false; } } + Bangle.emit("alarmDismiss", alarm); } // The updated alarm is still a member of 'alarms' From 22d8ca43dc96602e8c17d91eea81de1fca18faa6 Mon Sep 17 00:00:00 2001 From: Kedlub Date: Wed, 18 Jan 2023 14:16:28 +0100 Subject: [PATCH 2/6] Disable quiet mode after alarm dismiss --- apps/alarmqm/ChangeLog | 1 + apps/alarmqm/app.png | Bin 0 -> 3438 bytes apps/alarmqm/boot.js | 16 ++++++++++++++++ apps/alarmqm/metadata.json | 13 +++++++++++++ 4 files changed, 30 insertions(+) create mode 100644 apps/alarmqm/ChangeLog create mode 100644 apps/alarmqm/app.png create mode 100644 apps/alarmqm/boot.js create mode 100644 apps/alarmqm/metadata.json diff --git a/apps/alarmqm/ChangeLog b/apps/alarmqm/ChangeLog new file mode 100644 index 000000000..5560f00bc --- /dev/null +++ b/apps/alarmqm/ChangeLog @@ -0,0 +1 @@ +0.01: New App! diff --git a/apps/alarmqm/app.png b/apps/alarmqm/app.png new file mode 100644 index 0000000000000000000000000000000000000000..ee00852061b1bf6771cd08d1d143d62dc00906f8 GIT binary patch literal 3438 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 Qd;kCd07*qoM6N<$f) Date: Wed, 18 Jan 2023 14:20:33 +0100 Subject: [PATCH 3/6] Update metadata.json --- apps/alarmqm/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/alarmqm/metadata.json b/apps/alarmqm/metadata.json index 30dee76ce..4a7236641 100644 --- a/apps/alarmqm/metadata.json +++ b/apps/alarmqm/metadata.json @@ -4,9 +4,9 @@ "version":"0.01", "description": "Service that turns off quiet mode after alarm dismiss", "icon": "app.png", - "tags": "", + "tags": "bluetooth,quiet,mode,alarm", "supports" : ["BANGLEJS2"], - "readme": "README.md", + "type": "bootloader", "storage": [ {"name":"alarmqm.boot.js","url":"boot.js"} ] From 566cc9cb2ff5e04132b56ad0f5450399d354d5b2 Mon Sep 17 00:00:00 2001 From: Kedlub Date: Wed, 18 Jan 2023 16:33:39 +0100 Subject: [PATCH 4/6] Run only for alarms --- apps/alarmqm/boot.js | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/apps/alarmqm/boot.js b/apps/alarmqm/boot.js index 4d2504de4..050f297f4 100644 --- a/apps/alarmqm/boot.js +++ b/apps/alarmqm/boot.js @@ -1,16 +1,20 @@ -(function() { - function dismissAlarm(alarm) { - if ("qmsched" in WIDGETS) { - require("qmsched").setMode(0); - } - else { - // Code from qmsched.js, so we can work without it - require("Storage").writeJSON("setting.json", Object.assign( - require("Storage").readJSON("setting.json", 1) || {}, - {quiet:0} - )); - } - } +(function () { + function dismissAlarm(alarm) { + // Run only for alarms, not timers + if (!alarm.timer) { + if ("qmsched" in WIDGETS) { + require("qmsched").setMode(0); + } else { + // Code from qmsched.js, so we can work without it + require("Storage").writeJSON( + "setting.json", + Object.assign(require("Storage").readJSON("setting.json", 1) || {}, { + quiet: 0, + }) + ); + } + } + } - Bangle.on('alarmDismiss', dismissAlarm); - })(); \ No newline at end of file + Bangle.on("alarmDismiss", dismissAlarm); +})(); \ No newline at end of file From c3728785f5653f941c985b78b886ddebb981c866 Mon Sep 17 00:00:00 2001 From: Kedlub Date: Wed, 18 Jan 2023 16:36:26 +0100 Subject: [PATCH 5/6] Tabs to spaces --- apps/alarmqm/boot.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/apps/alarmqm/boot.js b/apps/alarmqm/boot.js index 050f297f4..cf35452c0 100644 --- a/apps/alarmqm/boot.js +++ b/apps/alarmqm/boot.js @@ -1,20 +1,20 @@ (function () { - function dismissAlarm(alarm) { + function dismissAlarm(alarm) { // Run only for alarms, not timers - if (!alarm.timer) { - if ("qmsched" in WIDGETS) { - require("qmsched").setMode(0); - } else { - // Code from qmsched.js, so we can work without it - require("Storage").writeJSON( - "setting.json", - Object.assign(require("Storage").readJSON("setting.json", 1) || {}, { - quiet: 0, - }) - ); - } - } - } + if (!alarm.timer) { + if ("qmsched" in WIDGETS) { + require("qmsched").setMode(0); + } else { + // Code from qmsched.js, so we can work without it + require("Storage").writeJSON( + "setting.json", + Object.assign(require("Storage").readJSON("setting.json", 1) || {}, { + quiet: 0, + }) + ); + } + } + } - Bangle.on("alarmDismiss", dismissAlarm); -})(); \ No newline at end of file + Bangle.on("alarmDismiss", dismissAlarm); + })(); \ No newline at end of file From 1079928e7773bd19309d957a73ec8e16a78db81b Mon Sep 17 00:00:00 2001 From: Kedlub Date: Wed, 18 Jan 2023 16:40:32 +0100 Subject: [PATCH 6/6] Fix tags I don't even know how the bluetooth tag got there --- apps/alarmqm/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/alarmqm/metadata.json b/apps/alarmqm/metadata.json index 4a7236641..bae4b0807 100644 --- a/apps/alarmqm/metadata.json +++ b/apps/alarmqm/metadata.json @@ -4,7 +4,7 @@ "version":"0.01", "description": "Service that turns off quiet mode after alarm dismiss", "icon": "app.png", - "tags": "bluetooth,quiet,mode,alarm", + "tags": "quiet,alarm", "supports" : ["BANGLEJS2"], "type": "bootloader", "storage": [