2022-12-03 12:07:33 +00:00
|
|
|
{
|
|
|
|
let digits = [];
|
|
|
|
let drawTimeout;
|
|
|
|
let fontName="";
|
|
|
|
let settings = require('Storage').readJSON("contourclock.json", true) || {};
|
|
|
|
if (settings.fontIndex==undefined) {
|
|
|
|
settings.fontIndex=0;
|
2022-12-03 13:19:04 +00:00
|
|
|
settings.widgets=true;
|
|
|
|
settings.hide=false;
|
|
|
|
settings.weekday=true;
|
|
|
|
settings.hideWhenLocked=false;
|
|
|
|
settings.date=true; require('Storage').writeJSON("myapp.json", settings);
|
2022-12-03 12:07:33 +00:00
|
|
|
}
|
2021-12-18 08:57:56 +00:00
|
|
|
|
2022-12-03 12:07:33 +00:00
|
|
|
let queueDraw = function() {
|
|
|
|
if (drawTimeout) clearTimeout(drawTimeout);
|
|
|
|
drawTimeout = setTimeout(function() {
|
|
|
|
drawTimeout = undefined;
|
|
|
|
draw();
|
|
|
|
queueDraw();
|
|
|
|
}, 60000 - (Date.now() % 60000));
|
|
|
|
};
|
2022-04-28 10:11:11 +00:00
|
|
|
|
2022-12-03 12:07:33 +00:00
|
|
|
let draw = function() {
|
|
|
|
var date = new Date();
|
|
|
|
// Draw day of the week
|
|
|
|
g.reset();
|
|
|
|
g.setFont("Teletext10x18Ascii");
|
|
|
|
g.clearRect(0,138,g.getWidth()-1,176);
|
2022-12-03 13:19:04 +00:00
|
|
|
if (settings.weekday) g.setFontAlign(0,1).drawString(require("locale").dow(date).toUpperCase(),g.getWidth()/2,g.getHeight()-18);
|
2022-12-03 12:07:33 +00:00
|
|
|
// Draw Date
|
2022-12-03 13:19:04 +00:00
|
|
|
if (settings.date) g.setFontAlign(0,1).drawString(require('locale').date(new Date(),1),g.getWidth()/2,g.getHeight());
|
2022-12-03 12:07:33 +00:00
|
|
|
require('contourclock').drawClock(settings.fontIndex);
|
|
|
|
};
|
2022-12-03 13:19:04 +00:00
|
|
|
|
|
|
|
if (settings.hideWhenLocked) Bangle.on('lock', function (locked) {
|
2022-12-03 20:49:34 +00:00
|
|
|
if (!locked) require("widget_utils").show();
|
|
|
|
else {
|
|
|
|
g.clear();
|
|
|
|
if (settings.hide) require("widget_utils").swipeOn();
|
|
|
|
else require("widget_utils").hide();
|
|
|
|
}
|
|
|
|
draw();
|
2022-12-03 13:19:04 +00:00
|
|
|
});
|
2022-12-03 20:49:34 +00:00
|
|
|
|
2022-12-03 12:07:33 +00:00
|
|
|
require("FontTeletext10x18Ascii").add(Graphics);
|
|
|
|
g.clear();
|
|
|
|
draw();
|
2022-12-03 20:49:34 +00:00
|
|
|
|
2022-12-03 12:07:33 +00:00
|
|
|
Bangle.setUI({mode:"clock", remove:function() {
|
|
|
|
if (drawTimeout) clearTimeout(drawTimeout);
|
2022-12-03 13:19:04 +00:00
|
|
|
if (settings.widgets && settings.hide) require("widget_utils").show();
|
2022-12-03 12:07:33 +00:00
|
|
|
g.reset();
|
|
|
|
g.clear();
|
|
|
|
}});
|
2022-12-03 13:19:04 +00:00
|
|
|
if (settings.widgets) {
|
|
|
|
Bangle.loadWidgets();
|
|
|
|
if (settings.hide) require("widget_utils").swipeOn();
|
|
|
|
else Bangle.drawWidgets();
|
|
|
|
}
|
2022-12-03 12:07:33 +00:00
|
|
|
queueDraw();
|
|
|
|
}
|