hcclock: Use `messages` library to check for new messages

Instead of opening "messages.json" directly
For #2081
pull/2082/head
Richard de Boer 2022-08-09 16:00:09 +02:00
parent f088fed7fe
commit b93e2dd913
No known key found for this signature in database
3 changed files with 13 additions and 20 deletions

View File

@ -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)
0.04: Use `messages` library to check for new messages

View File

@ -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)
{
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;
}
//////////////////////////////////////////

View File

@ -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",