mirror of https://github.com/espruino/BangleApps
Fix messages app loading on clock without fast load
parent
009d93bdca
commit
e7edd54017
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
if (!Bangle.MESSAGES) Bangle.MESSAGES = [];
|
||||
require("messages").apply(msg, Bangle.MESSAGES);
|
||||
if (!Bangle.MESSAGES.length) delete Bangle.MESSAGES;
|
||||
}
|
||||
// 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);
|
||||
};
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue