From a75564e7eb142df4121e0fc700c7fd2d84802418 Mon Sep 17 00:00:00 2001 From: Logan B <3870583+thinkpoop@users.noreply.github.com> Date: Sat, 2 Mar 2024 14:38:09 -0600 Subject: [PATCH 1/6] a_dndtoggle: add settings page --- apps/a_dndtoggle/ChangeLog | 1 + apps/a_dndtoggle/README.md | 2 +- apps/a_dndtoggle/a_dndtoggle.app.js | 13 ++++++++---- apps/a_dndtoggle/default.json | 1 + apps/a_dndtoggle/metadata.json | 7 +++++- apps/a_dndtoggle/settings.js | 33 +++++++++++++++++++++++++++++ 6 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 apps/a_dndtoggle/default.json create mode 100644 apps/a_dndtoggle/settings.js diff --git a/apps/a_dndtoggle/ChangeLog b/apps/a_dndtoggle/ChangeLog index ec66c5568..f104b84fd 100644 --- a/apps/a_dndtoggle/ChangeLog +++ b/apps/a_dndtoggle/ChangeLog @@ -1 +1,2 @@ 0.01: Initial version +0.02: Add settings page \ No newline at end of file diff --git a/apps/a_dndtoggle/README.md b/apps/a_dndtoggle/README.md index bd0981c5b..c3197fa0b 100644 --- a/apps/a_dndtoggle/README.md +++ b/apps/a_dndtoggle/README.md @@ -4,7 +4,7 @@ When Quiet mode is off, just start this app to set quiet mode. Start it again to Work in progress. #ToDo -Settings page, current status indicator. +Current status indicator ## Creator diff --git a/apps/a_dndtoggle/a_dndtoggle.app.js b/apps/a_dndtoggle/a_dndtoggle.app.js index c0b968f2c..d7be700cd 100644 --- a/apps/a_dndtoggle/a_dndtoggle.app.js +++ b/apps/a_dndtoggle/a_dndtoggle.app.js @@ -6,11 +6,16 @@ let current = 0|bSettings.quiet; //1 alarms //2 silent +const dndSettings = Object.assign( + require('Storage').readJSON("a_dndtoggle.default.json", true) || {}, + require('Storage').readJSON("a_dndtoggle.settings.json", true) || {} + ); + console.log("old: " + current); switch (current) { case 0: - bSettings.quiet = 2; + bSettings.quiet = dndSettings.mode; Bangle.buzz(); setTimeout('Bangle.buzz();',500); break; @@ -35,9 +40,9 @@ setTimeout('exitApp();', 2000); function exitApp(){ -require("Storage").writeJSON("setting.json", bSettings); -// reload clocks with new theme, otherwise just wait for user to switch apps - + require("Storage").writeJSON("setting.json", bSettings); + // reload clocks with new theme, otherwise just wait for user to switch apps + load() } \ No newline at end of file diff --git a/apps/a_dndtoggle/default.json b/apps/a_dndtoggle/default.json new file mode 100644 index 000000000..96bf417c5 --- /dev/null +++ b/apps/a_dndtoggle/default.json @@ -0,0 +1 @@ +{"mode":2} \ No newline at end of file diff --git a/apps/a_dndtoggle/metadata.json b/apps/a_dndtoggle/metadata.json index f5ae9cc31..e7f47d69e 100644 --- a/apps/a_dndtoggle/metadata.json +++ b/apps/a_dndtoggle/metadata.json @@ -2,14 +2,19 @@ "id": "a_dndtoggle", "name": "a_dndtoggle - Toggle Quiet Mode of the watch", "shortName": "A_DND Toggle", - "version": "0.01", + "version": "0.02", "description": "Toggle Quiet Mode of the watch just by starting this app.", "icon": "a_dndtoggle.png", "type": "app", "tags": "tool", "supports": ["BANGLEJS","BANGLEJS2"], + "data" : [ + {"name":"a_dndtoggle.settings.json"} + ], "storage": [ {"name":"a_dndtoggle.app.js","url":"a_dndtoggle.app.js"}, + {"name":"a_dndtoggle.default.json","url":"default.json"}, + {"name":"a_dndtoggle.settings.js","url":"settings.js"}, {"name":"a_dndtoggle.img","url":"app-icon.js","evaluate":true} ], "readme": "README.md" diff --git a/apps/a_dndtoggle/settings.js b/apps/a_dndtoggle/settings.js new file mode 100644 index 000000000..da643667f --- /dev/null +++ b/apps/a_dndtoggle/settings.js @@ -0,0 +1,33 @@ +(function(back) { + + const settings = Object.assign( + require('Storage').readJSON("a_dndtoggle.default.json", true) || {}, + require('Storage').readJSON("a_dndtoggle.settings.json", true) || {} + ); + + function updateSettings() { + require('Storage').writeJSON("a_dndtoggle.settings.json", settings); + } + + function buildMainMenu(){ + const modes = [/*LANG*/"Noisy",/*LANG*/"Alarms",/*LANG*/"Silent"]; + let mainmenu = { + '': { 'title': 'A_DND Toggle' }, + '< Back': back, + /*LANG*/"Quiet Mode": { + value: settings.mode, + min: 1, max: modes.length - 1, + format: v => modes[v], + onchange: v => { + settings.mode = v; + updateSettings(); + } + } + }; + + return mainmenu; + } + + E.showMenu(buildMainMenu()); + }); + \ No newline at end of file From 20d195a38e5c2c6e60e79708df70b48282684230 Mon Sep 17 00:00:00 2001 From: Logan B <3870583+thinkpoop@users.noreply.github.com> Date: Sat, 2 Mar 2024 14:41:10 -0600 Subject: [PATCH 2/6] a_dndtoggle: add line break to update message --- apps/a_dndtoggle/ChangeLog | 2 +- apps/a_dndtoggle/a_dndtoggle.app.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/a_dndtoggle/ChangeLog b/apps/a_dndtoggle/ChangeLog index f104b84fd..2d760f914 100644 --- a/apps/a_dndtoggle/ChangeLog +++ b/apps/a_dndtoggle/ChangeLog @@ -1,2 +1,2 @@ 0.01: Initial version -0.02: Add settings page \ No newline at end of file +0.02: Add settings page; Add line break to update message \ No newline at end of file diff --git a/apps/a_dndtoggle/a_dndtoggle.app.js b/apps/a_dndtoggle/a_dndtoggle.app.js index d7be700cd..da2293450 100644 --- a/apps/a_dndtoggle/a_dndtoggle.app.js +++ b/apps/a_dndtoggle/a_dndtoggle.app.js @@ -34,7 +34,7 @@ switch (current) { console.log("new: " + bSettings.quiet); -E.showMessage(modeNames[current] + " -> " + modeNames[bSettings.quiet]); +E.showMessage(modeNames[current] + " -> \n" + modeNames[bSettings.quiet]); setTimeout('exitApp();', 2000); From f1a8c03d52ddbdb1505325ee3e2556b17043f6c7 Mon Sep 17 00:00:00 2001 From: Logan B <3870583+thinkpoop@users.noreply.github.com> Date: Sun, 3 Mar 2024 11:07:42 -0600 Subject: [PATCH 3/6] Update apps/a_dndtoggle/a_dndtoggle.app.js Co-authored-by: Rob Pilling --- apps/a_dndtoggle/a_dndtoggle.app.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/a_dndtoggle/a_dndtoggle.app.js b/apps/a_dndtoggle/a_dndtoggle.app.js index da2293450..20fc9afa7 100644 --- a/apps/a_dndtoggle/a_dndtoggle.app.js +++ b/apps/a_dndtoggle/a_dndtoggle.app.js @@ -40,9 +40,9 @@ setTimeout('exitApp();', 2000); function exitApp(){ - require("Storage").writeJSON("setting.json", bSettings); - // reload clocks with new theme, otherwise just wait for user to switch apps - +require("Storage").writeJSON("setting.json", bSettings); +// reload clocks with new theme, otherwise just wait for user to switch apps + load() } \ No newline at end of file From 0d7640dae949bff7e9f42274f20f17997ede7e55 Mon Sep 17 00:00:00 2001 From: Logan B <3870583+thinkpoop@users.noreply.github.com> Date: Sun, 3 Mar 2024 11:07:51 -0600 Subject: [PATCH 4/6] Update apps/a_dndtoggle/a_dndtoggle.app.js Co-authored-by: Rob Pilling --- apps/a_dndtoggle/a_dndtoggle.app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/a_dndtoggle/a_dndtoggle.app.js b/apps/a_dndtoggle/a_dndtoggle.app.js index 20fc9afa7..7ee02d231 100644 --- a/apps/a_dndtoggle/a_dndtoggle.app.js +++ b/apps/a_dndtoggle/a_dndtoggle.app.js @@ -15,7 +15,7 @@ console.log("old: " + current); switch (current) { case 0: - bSettings.quiet = dndSettings.mode; + bSettings.quiet = dndSettings.mode || 2; Bangle.buzz(); setTimeout('Bangle.buzz();',500); break; From 9bca4822004a319540bf3e2307053f0f046cc75c Mon Sep 17 00:00:00 2001 From: Logan B <3870583+thinkpoop@users.noreply.github.com> Date: Sun, 3 Mar 2024 11:34:28 -0600 Subject: [PATCH 5/6] a_dndtoggle: remove default.json --- apps/a_dndtoggle/a_dndtoggle.app.js | 6 ++---- apps/a_dndtoggle/default.json | 1 - apps/a_dndtoggle/metadata.json | 1 - apps/a_dndtoggle/settings.js | 8 +++----- 4 files changed, 5 insertions(+), 11 deletions(-) delete mode 100644 apps/a_dndtoggle/default.json diff --git a/apps/a_dndtoggle/a_dndtoggle.app.js b/apps/a_dndtoggle/a_dndtoggle.app.js index 7ee02d231..207034209 100644 --- a/apps/a_dndtoggle/a_dndtoggle.app.js +++ b/apps/a_dndtoggle/a_dndtoggle.app.js @@ -6,10 +6,8 @@ let current = 0|bSettings.quiet; //1 alarms //2 silent -const dndSettings = Object.assign( - require('Storage').readJSON("a_dndtoggle.default.json", true) || {}, - require('Storage').readJSON("a_dndtoggle.settings.json", true) || {} - ); +const dndSettings = + require('Storage').readJSON("a_dndtoggle.settings.json", true) || {}; console.log("old: " + current); diff --git a/apps/a_dndtoggle/default.json b/apps/a_dndtoggle/default.json deleted file mode 100644 index 96bf417c5..000000000 --- a/apps/a_dndtoggle/default.json +++ /dev/null @@ -1 +0,0 @@ -{"mode":2} \ No newline at end of file diff --git a/apps/a_dndtoggle/metadata.json b/apps/a_dndtoggle/metadata.json index e7f47d69e..62f0edae9 100644 --- a/apps/a_dndtoggle/metadata.json +++ b/apps/a_dndtoggle/metadata.json @@ -13,7 +13,6 @@ ], "storage": [ {"name":"a_dndtoggle.app.js","url":"a_dndtoggle.app.js"}, - {"name":"a_dndtoggle.default.json","url":"default.json"}, {"name":"a_dndtoggle.settings.js","url":"settings.js"}, {"name":"a_dndtoggle.img","url":"app-icon.js","evaluate":true} ], diff --git a/apps/a_dndtoggle/settings.js b/apps/a_dndtoggle/settings.js index da643667f..aea8d9b60 100644 --- a/apps/a_dndtoggle/settings.js +++ b/apps/a_dndtoggle/settings.js @@ -1,9 +1,7 @@ (function(back) { - const settings = Object.assign( - require('Storage').readJSON("a_dndtoggle.default.json", true) || {}, - require('Storage').readJSON("a_dndtoggle.settings.json", true) || {} - ); + const settings = + require('Storage').readJSON("a_dndtoggle.settings.json", true) || {}; function updateSettings() { require('Storage').writeJSON("a_dndtoggle.settings.json", settings); @@ -15,7 +13,7 @@ '': { 'title': 'A_DND Toggle' }, '< Back': back, /*LANG*/"Quiet Mode": { - value: settings.mode, + value: settings.mode || 2, min: 1, max: modes.length - 1, format: v => modes[v], onchange: v => { From 22d7ef7ae9b22a0e193dd9c984a4075e8478b700 Mon Sep 17 00:00:00 2001 From: Logan B <3870583+thinkpoop@users.noreply.github.com> Date: Sun, 3 Mar 2024 21:00:54 -0600 Subject: [PATCH 6/6] a_dndtoggle: add comments to explain settings a bit better --- apps/a_dndtoggle/README.md | 3 +++ apps/a_dndtoggle/settings.js | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/a_dndtoggle/README.md b/apps/a_dndtoggle/README.md index c3197fa0b..c373bc872 100644 --- a/apps/a_dndtoggle/README.md +++ b/apps/a_dndtoggle/README.md @@ -1,6 +1,9 @@ # a_dndtoggle - Toggle Quiet Mode of the watch When Quiet mode is off, just start this app to set quiet mode. Start it again to turn off quiet mode. + +Use the app settings to choose which quiet mode you prefer ("Alarms" or "Silent"). Default is "Silent". + Work in progress. #ToDo diff --git a/apps/a_dndtoggle/settings.js b/apps/a_dndtoggle/settings.js index aea8d9b60..5316525b3 100644 --- a/apps/a_dndtoggle/settings.js +++ b/apps/a_dndtoggle/settings.js @@ -8,13 +8,15 @@ } function buildMainMenu(){ + // 0-Noisy is only a placeholder so that the other values map to the Bangle quiet mode options const modes = [/*LANG*/"Noisy",/*LANG*/"Alarms",/*LANG*/"Silent"]; let mainmenu = { '': { 'title': 'A_DND Toggle' }, '< Back': back, /*LANG*/"Quiet Mode": { value: settings.mode || 2, - min: 1, max: modes.length - 1, + min: 1, // don't allow choosing 0-Noisy + max: modes.length - 1, format: v => modes[v], onchange: v => { settings.mode = v;