Merge pull request #3229 from thinkpoop/dnd-toggle-settings

a_dndtoggle: add settings page
pull/3236/head
Rob Pilling 2024-03-04 08:19:45 +00:00 committed by GitHub
commit a9b4417574
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 48 additions and 4 deletions

View File

@ -1 +1,2 @@
0.01: Initial version 0.01: Initial version
0.02: Add settings page; Add line break to update message

View File

@ -1,10 +1,13 @@
# a_dndtoggle - Toggle Quiet Mode of the watch # 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. 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. Work in progress.
#ToDo #ToDo
Settings page, current status indicator. Current status indicator
## Creator ## Creator

View File

@ -6,11 +6,14 @@ let current = 0|bSettings.quiet;
//1 alarms //1 alarms
//2 silent //2 silent
const dndSettings =
require('Storage').readJSON("a_dndtoggle.settings.json", true) || {};
console.log("old: " + current); console.log("old: " + current);
switch (current) { switch (current) {
case 0: case 0:
bSettings.quiet = 2; bSettings.quiet = dndSettings.mode || 2;
Bangle.buzz(); Bangle.buzz();
setTimeout('Bangle.buzz();',500); setTimeout('Bangle.buzz();',500);
break; break;
@ -29,7 +32,7 @@ switch (current) {
console.log("new: " + bSettings.quiet); console.log("new: " + bSettings.quiet);
E.showMessage(modeNames[current] + " -> " + modeNames[bSettings.quiet]); E.showMessage(modeNames[current] + " -> \n" + modeNames[bSettings.quiet]);
setTimeout('exitApp();', 2000); setTimeout('exitApp();', 2000);

View File

@ -2,14 +2,18 @@
"id": "a_dndtoggle", "id": "a_dndtoggle",
"name": "a_dndtoggle - Toggle Quiet Mode of the watch", "name": "a_dndtoggle - Toggle Quiet Mode of the watch",
"shortName": "A_DND Toggle", "shortName": "A_DND Toggle",
"version": "0.01", "version": "0.02",
"description": "Toggle Quiet Mode of the watch just by starting this app.", "description": "Toggle Quiet Mode of the watch just by starting this app.",
"icon": "a_dndtoggle.png", "icon": "a_dndtoggle.png",
"type": "app", "type": "app",
"tags": "tool", "tags": "tool",
"supports": ["BANGLEJS","BANGLEJS2"], "supports": ["BANGLEJS","BANGLEJS2"],
"data" : [
{"name":"a_dndtoggle.settings.json"}
],
"storage": [ "storage": [
{"name":"a_dndtoggle.app.js","url":"a_dndtoggle.app.js"}, {"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} {"name":"a_dndtoggle.img","url":"app-icon.js","evaluate":true}
], ],
"readme": "README.md" "readme": "README.md"

View File

@ -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());
});