From 6a6690ae2188e65aa0562c81ed7422f663fe1cd6 Mon Sep 17 00:00:00 2001 From: David Peer Date: Wed, 4 Jan 2023 16:07:32 +0100 Subject: [PATCH] Fixed BW Clock --- apps/bwclk/ChangeLog | 1 + apps/bwclk/app.js | 31 ++----------------------------- apps/bwclk/metadata.json | 2 +- 3 files changed, 4 insertions(+), 30 deletions(-) diff --git a/apps/bwclk/ChangeLog b/apps/bwclk/ChangeLog index e3e059318..df7940f4a 100644 --- a/apps/bwclk/ChangeLog +++ b/apps/bwclk/ChangeLog @@ -22,3 +22,4 @@ 0.22: Use the new clkinfo module for the menu. 0.23: Feedback of apps after run is now optional and decided by the corresponding clkinfo. 0.24: Update clock_info to avoid a redraw +0.25: ClockInfo Fix: Use .get instead of .show as .show is not implemented for weather etc. diff --git a/apps/bwclk/app.js b/apps/bwclk/app.js index c29fdf2ef..ef0a9762d 100644 --- a/apps/bwclk/app.js +++ b/apps/bwclk/app.js @@ -12,7 +12,6 @@ const clock_info = require("clock_info"); const SETTINGS_FILE = "bwclk.setting.json"; const W = g.getWidth(); const H = g.getHeight(); -var lock_input = false; /************************************************ @@ -123,27 +122,6 @@ if(settings.menuPosX >= menu.length || settings.menuPosY > menu[settings.menuPos settings.menuPosY = 0; } -// Set draw functions for each item -menu.forEach((menuItm, x) => { - menuItm.items.forEach((item, y) => { - function drawItem() { - // For the clock, we have a special case, as we don't wanna redraw - // immediately when something changes. Instead, we update data each minute - // to save some battery etc. Therefore, we hide (and disable the listener) - // immedeately after redraw... - item.hide(); - - // After drawing the item, we enable inputs again... - lock_input = false; - - var info = item.get(); - drawMenuItem(info.text, info.img); - } - - item.on('redraw', drawItem); - }) -}); - function canRunMenuItem(){ if(settings.menuPosY == 0){ @@ -292,9 +270,8 @@ function drawMenuAndTime(){ } // Draw item if needed - lock_input = true; - var item = menuEntry.items[settings.menuPosY-1]; - item.show(); + var item = menuEntry.items[settings.menuPosY-1].get(); + drawMenuItem(item.text, item.img); } @@ -388,10 +365,6 @@ Bangle.on('touch', function(btn, e){ var is_right = e.x > right && !is_upper && !is_lower; var is_center = !is_upper && !is_lower && !is_left && !is_right; - if(lock_input){ - return; - } - if(is_lower){ Bangle.buzz(40, 0.6); settings.menuPosY = (settings.menuPosY+1) % (menu[settings.menuPosX].items.length+1); diff --git a/apps/bwclk/metadata.json b/apps/bwclk/metadata.json index 8ef812f41..376124a96 100644 --- a/apps/bwclk/metadata.json +++ b/apps/bwclk/metadata.json @@ -1,7 +1,7 @@ { "id": "bwclk", "name": "BW Clock", - "version": "0.24", + "version": "0.25", "description": "A very minimalistic clock to mainly show date and time.", "readme": "README.md", "icon": "app.png",