From b93e2dd9136c3778d939109abd7f58247c8c6a66 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 9 Aug 2022 16:00:09 +0200 Subject: [PATCH] hcclock: Use `messages` library to check for new messages Instead of opening "messages.json" directly For #2081 --- apps/hcclock/ChangeLog | 3 ++- apps/hcclock/hcclock.app.js | 28 ++++++++++------------------ apps/hcclock/metadata.json | 2 +- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/apps/hcclock/ChangeLog b/apps/hcclock/ChangeLog index f70653d58..289c7ac2d 100644 --- a/apps/hcclock/ChangeLog +++ b/apps/hcclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Base code 0.02: Saved settings when switching color scheme -0.03: Added Button 3 opening messages (if app is installed) \ No newline at end of file +0.03: Added Button 3 opening messages (if app is installed) +0.04: Use `messages` library to check for new messages \ No newline at end of file diff --git a/apps/hcclock/hcclock.app.js b/apps/hcclock/hcclock.app.js index de5163996..3383f831b 100644 --- a/apps/hcclock/hcclock.app.js +++ b/apps/hcclock/hcclock.app.js @@ -228,27 +228,18 @@ function flipColors() // MESSAGE HANDLING() // -let messages_installed = require("Storage").read("messages.app.js") != undefined; +let messages_installed = require("Storage").list(/^messages$/).length > 0; function handleMessages() { - if(messages_installed && hasMessages() > 0) - { - E.showMessage("Loading Messages..."); - load("messages.app.js"); - } + if(!hasMessages()) return; + E.showMessage("Loading Messages..."); + load("messages.app.js"); } function hasMessages() { - if(!messages_installed) - return false; - - var messages = require("Storage").readJSON("messages.json",1)||[]; - if (messages.some(m=>m.new)) - return true; - else - return false; + return messages_installed && require("messages").status() === 'new'; } let msg = atob("GBiBAAAAAAAAAAAAAAAAAAAAAB//+DAADDAADDAADDwAPD8A/DOBzDDn/DA//DAHvDAPvjAPvjAPvjAPvh///gf/vAAD+AAB8AAAAA=="); @@ -256,20 +247,21 @@ let had_messages = false; function drawMessages() { - if(!had_messages && hasMessages()) { + const has_messages = hasMessages(); + if(has_messages === had_messages) return; + if(has_messages) { g.setColor(255,255,255); g.drawImage(msg, 184, 212); g.setFont("6x8", 2); g.setFontAlign(0, -1, 0); g.drawString(">", 224, 216); - had_messages = true; } - else if (had_messages && !hasMessages()) + else { g.setColor(0,0,0); g.fillRect(180, 210, 240, 240); - had_messages = false; } + had_messages = has_messages; } ////////////////////////////////////////// diff --git a/apps/hcclock/metadata.json b/apps/hcclock/metadata.json index 0d4cbe0cd..b8f8c14b9 100644 --- a/apps/hcclock/metadata.json +++ b/apps/hcclock/metadata.json @@ -1,7 +1,7 @@ { "id": "hcclock", "name": "Hi-Contrast Clock", - "version": "0.03", + "version": "0.04", "description": "Hi-Contrast Clock : A simple yet very bold clock that aims to be readable in high luninosity environments. Uses big 10x5 pixel digits. Use BTN 1 to switch background and foreground colors.", "icon": "hcclock-icon.png", "type": "clock",