From 1b4349c4493b09e115a35a340a4b06f34ddb7bfb Mon Sep 17 00:00:00 2001 From: xxDUxx <96152564+xxDUxx@users.noreply.github.com> Date: Sun, 22 Jan 2023 02:26:50 +0100 Subject: [PATCH] Update app.js --- apps/contourclock/app.js | 57 +++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/apps/contourclock/app.js b/apps/contourclock/app.js index bdb115c62..7f4773d87 100644 --- a/apps/contourclock/app.js +++ b/apps/contourclock/app.js @@ -3,6 +3,9 @@ let digits = []; let drawTimeout; let extrasTimeout; + let onLock; + let onTap; + let onTwist; let fontName=""; let settings = require('Storage').readJSON("contourclock.json", true) || {}; if (settings.fontIndex==undefined) { @@ -24,17 +27,12 @@ require("Storage").erase("contourclock-install.json"); } require("FontTeletext10x18Ascii").add(Graphics); - - let queueDraw = function() { - if (drawTimeout) clearTimeout(drawTimeout); - drawTimeout = setTimeout(draw, interval - (Date.now() % interval)); - }; + let drawExtras = function() { //draw date, day of the week and widgets let date = new Date(); g.setFont("Teletext10x18Ascii"); if (settings.weekday) g.setFontAlign(0,1).drawString(require("locale").dow(date).toUpperCase(),g.getWidth()/2,g.getHeight()-18); - // Draw Date if (settings.date) g.setFontAlign(0,1).drawString(require('locale').date(date,1),g.getWidth()/2,g.getHeight()); require("widget_utils").show(); @@ -44,9 +42,7 @@ require("widget_utils").hide(); }; let draw = function() { - //drawTimeout = undefined; let date = new Date(); - print ("drawing time at:" +date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()); g.reset(); if ((!settings.hideWhenLocked) || (!Bangle.isLocked())) drawExtras(); else require("widget_utils").hide(); @@ -54,29 +50,28 @@ if (drawTimeout) clearTimeout(drawTimeout); drawTimeout = setTimeout(draw, interval - (Date.now() % interval)); }; - - let onLock = locked => { - if (!locked) { - require("widget_utils").show(); - drawExtras(); - } else { - require("widget_utils").hide(); - hideExtras(); - } - }; - let onTap = d => { - if (d.double) { + if (settings.hideWhenLocked) { + let onLock = locked => { + if (!locked) { + require("widget_utils").show(); + drawExtras(); + } else { + require("widget_utils").hide(); + hideExtras(); + } + }; + let onTap = d => { + if (d.double) { + drawExtras(); + if (extrasTimeout) clearTimeout(extrasTimeout); + extrasTimeout = setTimeout(hideExtras, 5000); + } + }; + let onTwist = () => { drawExtras(); if (extrasTimeout) clearTimeout(extrasTimeout); extrasTimeout = setTimeout(hideExtras, 5000); - } - }; - let onTwist = () => { - drawExtras(); - if (extrasTimeout) clearTimeout(extrasTimeout); - extrasTimeout = setTimeout(hideExtras, 5000); - }; - if (settings.hideWhenLocked) { + }; Bangle.on('lock', onLock); if (settings.tapToShow) Bangle.on('tap', onTap); if (settings.twistToShow) Bangle.on('twist', onTwist); @@ -92,7 +87,9 @@ g.clear(); }}); g.clear(); - Bangle.loadWidgets(); - Bangle.drawWidgets(); + if (settings.widgets) { + Bangle.loadWidgets(); + Bangle.drawWidgets(); + } draw(); }