Fix messages app loading on clock without fast load

pull/2408/head
Gordon Williams 2022-12-16 11:00:00 +00:00
parent 009d93bdca
commit e7edd54017
3 changed files with 17 additions and 17 deletions

View File

@ -85,3 +85,4 @@
0.60: Fix saving of removal messages if UI not open
0.61: Fix regression where loading into messages app stops back from working (#2398)
0.62: Remove '.show' field, tidyup and fix .open if fast load not enabled
0.63: Fix messages app loading on clock without fast load

View File

@ -29,36 +29,33 @@ exports.listener = function(type, msg) {
}
const appSettings = require("Storage").readJSON("messages.settings.json", 1) || {};
let loadMessages = (Bangle.CLOCK || event.important);
let loadMessages = (Bangle.CLOCK || event.important); // should we load the messages app?
if (type==="music") {
if (Bangle.CLOCK && msg.state && msg.title && appSettings.openMusic) loadMessages = true;
else return;
}
if (loadWillReset()) {
// no fast loading: store message to flash
require("messages").save(msg);
} else {
// Write the message to Bangle.MESSAGES. We'll deal with it in messageTimeout below
if (!Bangle.MESSAGES) Bangle.MESSAGES = [];
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) Bangle.MESSAGES.forEach(m => require("messages").save(m));
// save messages from RAM to flash if we decide not to launch app
// We apply all of Bangle.MESSAGES here in one write
if (!Bangle.MESSAGES || !Bangle.MESSAGES.length) return;
let messages = require("messages").getMessages(msg);
(Bangle.MESSAGES || []).forEach(m => require("messages").apply(m, messages));
require("messages").write(messages);
delete Bangle.MESSAGES;
}
msg.handled = true;
if ((msg.t!=="add" || !msg.new) && (type!=="music")) { // music always has t:"modify"
saveToFlash();
return;
}
if ((msg.t!=="add" || !msg.new) && (type!=="music")) // music always has t:"modify"
return saveToFlash();
const quiet = (require("Storage").readJSON("setting.json", 1) || {}).quiet;
const unlockWatch = appSettings.unlockWatch;
// don't auto-open messages in quiet mode if quietNoAutOpn is true
if ((quiet && appSettings.quietNoAutOpn) || appSettings.noAutOpn)
loadMessages = false;
// after a delay load the app, to ensure we have all the messages
if (exports.messageTimeout) clearTimeout(exports.messageTimeout);
exports.messageTimeout = setTimeout(function() {
@ -75,6 +72,8 @@ exports.listener = function(type, msg) {
Bangle.setLCDPower(1); // turn screen on
}
}
// if loading the gui would reload everything, we must save our messages
if (loadWillReset()) saveToFlash();
exports.open(msg);
}, 500);
};

View File

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