BangleApps/apps/getup/app.js

46 lines
1.0 KiB
JavaScript
Raw Normal View History

2020-05-07 18:59:04 +00:00
//init settings
2020-05-07 18:03:11 +00:00
const storage = require("Storage");
const SETTINGS_FILE = 'getup.settings.json';
function setting(key) {
const DEFAULTS = {
'sitTime' : 20,
'moveTime' : 1
}
if (!settings) {
loadSettings();
}
return (key in settings) ? settings[key] : DEFAULTS[key];
2020-05-07 18:03:11 +00:00
}
2020-05-07 18:59:04 +00:00
2020-05-07 18:03:11 +00:00
let settings;
2020-05-07 18:59:04 +00:00
2020-05-07 18:03:11 +00:00
function loadSettings() {
settings = storage.readJSON(SETTINGS_FILE, 1) || {};
2020-05-07 18:03:11 +00:00
}
2020-05-07 18:59:04 +00:00
//vibrate, draw move message and start timer for sitting message
2020-05-07 17:13:41 +00:00
function remind() {
Bangle.buzz(1000,1);
g.clear();
g.setFont("8x12",4);
g.setColor(0x03E0);
g.drawString("MOVE!", g.getWidth()/2, g.getHeight()/2);
setTimeout(print_message,setting("moveTime") * 60000);
2020-05-07 17:13:41 +00:00
}
2020-05-07 18:59:04 +00:00
//draw sitting message and start timer for reminder
2020-05-07 17:13:41 +00:00
function print_message(){
g.clear();
g.setFont("8x12",2);
g.setColor(0xF800);
g.drawString("sitting is dangerous!", g.getWidth()/2, g.getHeight()/2);
setTimeout(remind,setting("sitTime") * 60000);
2020-05-07 17:13:41 +00:00
}
2020-05-07 18:59:04 +00:00
2020-05-07 17:13:41 +00:00
//init graphics
require("Font8x12").add(Graphics);
g.setFontAlign(0,0);
g.flip();
print_message();