diff --git a/apps/a_dndtoggle/ChangeLog b/apps/a_dndtoggle/ChangeLog index ec66c5568..2d760f914 100644 --- a/apps/a_dndtoggle/ChangeLog +++ b/apps/a_dndtoggle/ChangeLog @@ -1 +1,2 @@ 0.01: Initial version +0.02: Add settings page; Add line break to update message \ No newline at end of file diff --git a/apps/a_dndtoggle/README.md b/apps/a_dndtoggle/README.md index bd0981c5b..c373bc872 100644 --- a/apps/a_dndtoggle/README.md +++ b/apps/a_dndtoggle/README.md @@ -1,10 +1,13 @@ # 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 -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..207034209 100644 --- a/apps/a_dndtoggle/a_dndtoggle.app.js +++ b/apps/a_dndtoggle/a_dndtoggle.app.js @@ -6,11 +6,14 @@ let current = 0|bSettings.quiet; //1 alarms //2 silent +const dndSettings = + require('Storage').readJSON("a_dndtoggle.settings.json", true) || {}; + console.log("old: " + current); switch (current) { case 0: - bSettings.quiet = 2; + bSettings.quiet = dndSettings.mode || 2; Bangle.buzz(); setTimeout('Bangle.buzz();',500); break; @@ -29,7 +32,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); diff --git a/apps/a_dndtoggle/metadata.json b/apps/a_dndtoggle/metadata.json index f5ae9cc31..62f0edae9 100644 --- a/apps/a_dndtoggle/metadata.json +++ b/apps/a_dndtoggle/metadata.json @@ -2,14 +2,18 @@ "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.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..5316525b3 --- /dev/null +++ b/apps/a_dndtoggle/settings.js @@ -0,0 +1,33 @@ +(function(back) { + + const settings = + require('Storage').readJSON("a_dndtoggle.settings.json", true) || {}; + + function updateSettings() { + require('Storage').writeJSON("a_dndtoggle.settings.json", settings); + } + + 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, // don't allow choosing 0-Noisy + 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