Update app.js

master
xxDUxx 2023-09-11 00:31:43 +02:00 committed by GitHub
parent 0bb063f19d
commit bf5f56b7fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 8 deletions

View File

@ -29,14 +29,17 @@
} }
let showExtras = function() { //show extras for a limited time let showExtras = function() { //show extras for a limited time
drawExtras(); drawExtras();
if (extrasTimeout) clearTimeout(extrasTimeout); //if (extrasTimeout) clearTimeout(extrasTimeout);
extrasTimeout = setTimeout(() => { extrasTimeout = setTimeout(() => {
extrasTimeout = undefined; extrasTimeout = undefined;
hideExtras(); hideExtras();
}, 5000); }, 5000);
extrasShown = false;
}; };
let drawExtras = function() { //draw date, day of the week and widgets let drawExtras = function() { //draw date, day of the week and widgets
let date = new Date(); let date = new Date();
g.reset();
g.clearRect(0, 138, g.getWidth() - 1, 176);
g.setFont("Teletext10x18Ascii").setFontAlign(0, 1); g.setFont("Teletext10x18Ascii").setFontAlign(0, 1);
if (settings.weekday) g.drawString(require("locale").dow(date).toUpperCase(), g.getWidth() / 2, g.getHeight() - 18); if (settings.weekday) g.drawString(require("locale").dow(date).toUpperCase(), g.getWidth() / 2, g.getHeight() - 18);
if (settings.date) g.drawString(require('locale').date(date, 1), g.getWidth() / 2, g.getHeight()); if (settings.date) g.drawString(require('locale').date(date, 1), g.getWidth() / 2, g.getHeight());
@ -45,21 +48,23 @@
}; };
let hideExtras = function() { let hideExtras = function() {
if (extrasTimeout) clearTimeout(extrasTimeout); if (extrasTimeout) clearTimeout(extrasTimeout);
extrasTimeout = undefined; //NEW
g.reset();
g.clearRect(0, 138, g.getWidth() - 1, 176); g.clearRect(0, 138, g.getWidth() - 1, 176);
require("widget_utils").hide(); require("widget_utils").hide();
extrasShown = false; extrasShown = false; ///NEW
}; };
let draw = function() { let draw = function() {
if (drawTimeout) clearTimeout(drawTimeout); //NEW
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, 60000 - (Date.now() % 60000));
let date = new Date(); let date = new Date();
g.reset(); g.reset();
if (extrasShown) drawExtras(); if (extrasShown) drawExtras();
else hideExtras(); else hideExtras();
require('contourclock').drawClock(settings.fontIndex); require('contourclock').drawClock(settings.fontIndex);
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, 60000 - (Date.now() % 60000));
}; };
if (settings.hideWhenLocked) { if (settings.hideWhenLocked) {
onLock = locked => { onLock = locked => {
@ -83,6 +88,8 @@
Bangle.removeListener('twist', showExtras); Bangle.removeListener('twist', showExtras);
if (drawTimeout) clearTimeout(drawTimeout); if (drawTimeout) clearTimeout(drawTimeout);
if (extrasTimeout) clearTimeout(extrasTimeout); if (extrasTimeout) clearTimeout(extrasTimeout);
drawTimeout = undefined;
extrasTimeout = undefined;
if (settings.hideWhenLocked) require("widget_utils").show(); if (settings.hideWhenLocked) require("widget_utils").show();
g.reset(); g.reset();
g.clear(); g.clear();
@ -91,7 +98,7 @@
g.clear(); g.clear();
if (settings.widgets) { if (settings.widgets) {
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); setTimeout(Bangle.drawWidgets,0); //NEW
} }
draw(); draw();
} }