Merge branch 'master' of github.com:espruino/BangleApps

master
Gordon Williams 2022-12-12 11:32:25 +00:00
commit 62595c5a8f
6 changed files with 21 additions and 9 deletions

View File

@ -3,3 +3,4 @@
0.03: Tell clock widgets to hide.
0.04: Improve current time readability in light theme.
0.05: Show calendar colors & improved all day events.
0.06: Improved multi-line locations & titles

View File

@ -54,13 +54,15 @@ function drawEventBody(event, y) {
var yStart = y;
if (lines.length > 2) {
lines = lines.slice(0,2);
lines[1] = lines[1].slice(0,-3)+"...";
lines[1] += "...";
}
g.drawString(lines.join('\n'),10,y);
y+=20 * lines.length;
if(event.location) {
g.drawImage(atob("DBSBAA8D/H/nDuB+B+B+B3Dn/j/B+A8A8AYAYAYAAAAAAA=="),10,y);
g.drawString(event.location,25,y);
var loclines = g.wrapString(event.location, g.getWidth()-30);
if(loclines.length>1) loclines[0] += "...";
g.drawString(loclines[0],25,y);
y+=20;
}
if (event.color) {
@ -131,4 +133,3 @@ var minuteInterval = setInterval(redraw, 60 * 1000);
Bangle.setUI("clock");
Bangle.loadWidgets();
Bangle.drawWidgets();

View File

@ -2,7 +2,7 @@
"id": "calclock",
"name": "Calendar Clock",
"shortName": "CalClock",
"version": "0.05",
"version": "0.06",
"description": "Show the current and upcoming events synchronized from Gadgetbridge",
"icon": "calclock.png",
"type": "clock",

View File

@ -82,3 +82,4 @@
0.58: Fast load messages without writing to flash
Don't write messages to flash until the app closes
0.59: Ensure we do write messages if messages app can't be fast loaded (see #2373)
0.60: Fix saving of removal messages if UI not open

View File

@ -10,7 +10,15 @@ exports.listener = function(type, msg) {
clearTimeout(exports.messageTimeout);
delete exports.messageTimeout;
}
if (msg.t==="remove") return;
if (msg.t==="remove") {
// we won't open the UI for removed messages, so make sure to delete it from flash
if (Bangle.MESSAGES) {
// we were waiting for exports.messageTimeout
require("messages").apply(msg, Bangle.MESSAGES);
if (!Bangle.MESSAGES.length) delete Bangle.MESSAGES;
}
return require("messages").save(msg); // always write removal to flash
}
const appSettings = require("Storage").readJSON("messages.settings.json", 1) || {};
let loadMessages = (Bangle.CLOCK || event.important);
@ -26,12 +34,12 @@ exports.listener = function(type, msg) {
require("messages").save(msg);
} else {
if (!Bangle.MESSAGES) Bangle.MESSAGES = [];
Bangle.MESSAGES.push(msg);
require("messages").apply(msg, Bangle.MESSAGES);
if (!Bangle.MESSAGES.length) delete Bangle.MESSAGES;
}
const saveToFlash = () => {
// save messages from RAM to flash after all, if we decide not to launch app
if (!Bangle.MESSAGES) return;
Bangle.MESSAGES.forEach(m => require("messages").save(m));
if (Bangle.MESSAGES) Bangle.MESSAGES.forEach(m => require("messages").save(m));
delete Bangle.MESSAGES;
}
msg.handled = true;
@ -50,6 +58,7 @@ exports.listener = function(type, msg) {
if (exports.messageTimeout) clearTimeout(exports.messageTimeout);
exports.messageTimeout = setTimeout(function() {
delete exports.messageTimeout;
if (!Bangle.MESSAGES) return; // message was removed during the delay
if (type!=="music") {
if (!loadMessages) {
// not opening the app, just buzz

View File

@ -2,7 +2,7 @@
"id": "messagegui",
"name": "Message UI",
"shortName": "Messages",
"version": "0.59",
"version": "0.60",
"description": "Default app to display notifications from iOS and Gadgetbridge/Android",
"icon": "app.png",
"type": "app",