BangleApps/apps/gbridge/settings.js

50 lines
1.4 KiB
JavaScript
Raw Normal View History

(function(back) {
function gb(j) {
Bluetooth.println(JSON.stringify(j));
}
function settings() {
let settings = require('Storage').readJSON("gbridge.json", true) || {};
if (!("showIcon" in settings)) {
settings.showIcon = true;
}
return settings
2020-05-28 21:27:10 +00:00
}
function updateSetting(setting, value) {
let settings = require('Storage').readJSON("gbridge.json", true) || {};
settings[setting] = value
require('Storage').writeJSON('gbridge.json', settings);
2020-05-28 21:27:10 +00:00
}
function setIcon(visible) {
updateSetting('showIcon', visible);
// need to re-layout widgets
WIDGETS["gbridgew"].reload();
g.clear();
2020-05-28 21:27:10 +00:00
Bangle.drawWidgets();
}
var mainmenu = {
"" : { "title" : "Gadgetbridge" },
"Connected" : { value : NRF.getSecurityStatus().connected?"Yes":"No" },
2020-05-28 21:27:10 +00:00
"Show Icon" : {
value: settings().showIcon,
2020-05-28 21:27:10 +00:00
format: v => v?"Yes":"No",
onchange: setIcon
2020-05-28 21:27:10 +00:00
},
"Find Phone" : function() { E.showMenu(findPhone); },
"Record HRM" : {
value: !!settings().hrm,
format: v => v?"Yes":"No",
onchange: v => updateSetting('hrm', v)
},
"< Back" : back,
};
var findPhone = {
"" : { "title" : "-- Find Phone --" },
"On" : _=>gb({t:"findPhone",n:true}),
"Off" : _=>gb({t:"findPhone",n:false}),
"< Back" : function() { E.showMenu(mainmenu); },
};
E.showMenu(mainmenu);
})