Skip to content

Commit

Permalink
Message widgets: we don't need a library
Browse files Browse the repository at this point in the history
  • Loading branch information
rigrig committed Dec 8, 2022
1 parent 605f87b commit ec410fd
Show file tree
Hide file tree
Showing 12 changed files with 24 additions and 33 deletions.
1 change: 1 addition & 0 deletions apps/messages/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
0.55: Moved messages library into standalone library
0.56: Fix handling of music messages
0.57: Optimize saving empty message list
0.58: show/hide "messages" widget directly, instead of through library stub
7 changes: 4 additions & 3 deletions apps/messages/lib.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,10 @@ exports.openGUI = function(msg) {
* @param {boolean} show
*/
exports.toggleWidget = function(show) {
if (!require("Storage").read("messagewidget")) return; // "messagewidget" module is missing!
if (show) require("messagewidget").show();
else require("messagewidget").hide();
if (!global.WIDGETS || !WIDGETS["messages"]) return; // widget is missing!
const method = WIDGETS["messages"][show ? "show" : "hide"];
/* if (typeof(method)!=="function") return; // widget must always have show()+hide(), fail hard rather than hide problems */
method.apply(WIDGETS["messages"]);
};

/**
Expand Down
2 changes: 1 addition & 1 deletion apps/messages/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "messages",
"name": "Messages",
"version": "0.57",
"version": "0.58",
"description": "Library to handle, load and store message events received from Android/iOS",
"icon": "app.png",
"type": "module",
Expand Down
3 changes: 2 additions & 1 deletion apps/widmessages/ChangeLog
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
0.01: Moved messages widget into standalone widget app
0.01: Moved messages widget into standalone widget app
0.02: Remove library stub
8 changes: 0 additions & 8 deletions apps/widmessages/lib.js

This file was deleted.

4 changes: 1 addition & 3 deletions apps/widmessages/metadata.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
{
"id": "widmessages",
"name": "Message Widget",
"version": "0.01",
"version": "0.02",
"description": "Widget showing new messages",
"icon": "app.png",
"type": "widget",
"tags": "tool,system",
"supports": ["BANGLEJS","BANGLEJS2"],
"screenshots": [{"url": "screenshot.gif"}],
"dependencies" : { "messageicons":"module" },
"provides_modules" : ["messagewidget"],
"provides_widgets" : ["message"],
"default" : true,
"readme": "README.md",
"storage": [
{"name":"messagewidget","url":"lib.js"},
{"name":"widmessages.wid.js","url":"widget.js"}
]
}
7 changes: 6 additions & 1 deletion apps/widmessages/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
.filter((msg, i, arr) => arr.findIndex(nmsg => msg.src == nmsg.src) == i);
}

// NOTE when adding a custom "essages" widget:
// the name still needs to be "messages": the library calls WIDGETS["messages'].hide()/show()
// see e.g. widmsggrid
WIDGETS["messages"] = {
area: "tl", width: 0, srcs: [], draw: function(recall) {
// If we had a setTimeout queued from the last time we were called, remove it
Expand Down Expand Up @@ -54,7 +57,9 @@
var w = WIDGETS["messages"];
if (!w || !w.width || c.x<w.x || c.x>w.x+w.width || c.y<w.y || c.y>w.y+24) return;
require("messages").openGUI();
}, hide() {
},
// hide() and show() are required by the "message" library!
hide() {
this.hidden=true;
if (this.width) {
// hide widget
Expand Down
3 changes: 2 additions & 1 deletion apps/widmsggrid/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
0.01: New widget!
0.02: Adjust to message icons moving to messageicons lib
0.03: Use new message library
0.03: Use new message library
0.04: Remove library stub
8 changes: 0 additions & 8 deletions apps/widmsggrid/lib.js

This file was deleted.

4 changes: 1 addition & 3 deletions apps/widmsggrid/metadata.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
{
"id": "widmsggrid",
"name": "Messages Grid Widget",
"version": "0.03",
"version": "0.04",
"description": "Widget that displays notification icons in a grid",
"icon": "widget.png",
"type": "widget",
"tags": "tool,system",
"supports": ["BANGLEJS","BANGLEJS2"],
"dependencies" : { "messages":"module" },
"provides_modules" : ["messagewidget"],
"provides_widgets" : ["message"],
"readme": "README.md",
"storage": [
{"name":"messagewidget","url":"lib.js"},
{"name":"widmsggrid.wid.js","url":"widget.js"}
],
"screenshots": [{"url":"screenshot.png"}]
Expand Down
9 changes: 6 additions & 3 deletions apps/widmsggrid/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
showRead: !!settings.showRead,
};
delete settings;
WIDGETS["msggrid"] = {
// widget name needs to be "messages": the library calls WIDGETS["messages'].hide()/show()
WIDGETS["messages"] = {
area: "tl", width: 0,
flash: s.flash,
showRead: s.showRead,
Expand Down Expand Up @@ -57,7 +58,9 @@
.drawString(w.total, w.x + w.width - 1, w.y + 24, w.total > 9);
}
if (w.flash && w.status === "new") w.t = setTimeout(w.draw, 1000); // schedule redraw while blinking
}, show: function (m) {
},
// show() and hide() are required by the "message" library!
show: function (m) {
delete w.hidden;
w.width = 24;
w.srcs = require("messages").getMessages(m)
Expand Down Expand Up @@ -94,6 +97,6 @@
}
};
delete s;
const w = WIDGETS["msggrid"];
const w = WIDGETS["messages"];
Bangle.on("message", w.listener);
})();
1 change: 0 additions & 1 deletion bin/sanitycheck.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ const INTERNAL_FILES_IN_APP_TYPE = { // list of app types and files they SHOULD
/* These are warnings we know about but don't want in our output */
var KNOWN_WARNINGS = [
"App gpsrec data file wildcard .gpsrc? does not include app ID",
"App widmessages storage file messagewidget is also listed as storage file for app widmsggrid",
];

function globToRegex(pattern) {
Expand Down

0 comments on commit ec410fd

Please sign in to comment.