{ const loadWillReset = () => Bangle.load === load || !Bangle.uiRemove; exports.handleMessage = function(type, msg) { if (!Bangle.MESSAGES || !Bangle.MESSAGES.length) Bangle.MESSAGES = require("messages").getMessages(msg); msg.show = true; msg.type = type; if (msg.t === "add") { require("messages").apply(msg, Bangle.MESSAGES); } else if (msg.t === "modify" || type === "call") { Bangle.MESSAGES = Bangle.MESSAGES.filter(m => m.id != msg.id); // remove old version of message Bangle.MESSAGES.unshift(msg); // put modified message at start of list } if (msg.t === "remove") { Bangle.MESSAGES = Bangle.MESSAGES.filter(m => m.id != msg.id); //require("messages").write(Bangle.MESSAGES); // write removal to flash } } exports.messageListener = function(type, msg) { let inApp = false; if (msg.handled) return; if (global.__FILE__ === "messagecenter.app.js") inApp = true; if (msg.t === "remove") { // we want to remove the message from storage right away so message widget will be updated let messages = require("messages").getMessages(msg); // apply removed message require("messages").write(messages); // write back to flash } if (!inApp) { exports.handleMessage(type, msg); if (loadWillReset()) require("messages").write(Bangle.MESSAGES); if (msg.t !== "remove") Bangle.load("messagecenter.notify.js"); // don't load app if we are just removing a message } else { // in app Bangle.emit("breakingnews", type, msg); } }; // messageListener exports.open = function(_msg) { Bangle.load("messagecenter.app.js"); }; };