From 8467a8810af3a651ae85af6d6866f97222f2abeb Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 11 Jan 2022 19:16:05 +0100 Subject: [PATCH 1/4] messages: app-specific icon colors --- apps.json | 2 +- apps/messages/ChangeLog | 1 + apps/messages/app.js | 31 +++++++++++++++++++++++++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/apps.json b/apps.json index b5929a56c..71a60ec88 100644 --- a/apps.json +++ b/apps.json @@ -77,7 +77,7 @@ { "id": "messages", "name": "Messages", - "version": "0.17", + "version": "0.18", "description": "App to display notifications from iOS and Gadgetbridge", "icon": "app.png", "type": "app", diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 4f0498e92..84dc67288 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -24,3 +24,4 @@ 0.15: Don't buzz when Quiet Mode is active 0.16: Fix text wrapping so it fits the screen even if title is big (fix #1147) 0.17: Fix: Get dynamic dimensions of notify icon, fixed notification font +0.18: Use app-specific icon colors diff --git a/apps/messages/app.js b/apps/messages/app.js index 6e51c2b33..f670c39a2 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -101,6 +101,31 @@ function getMessageImage(msg) { if (msg.id=="back") return getBackImage(); return getNotificationImage(); } +function getMessageImageCol(msg,def) { + return { + // generic colors, using B2-safe colors + "calendar": "#f00", + "mail": "#ff0", + "music": "#f0f", + "phone": "#0f0", + "sms message": "#0ff", + // brands, according to https://www.schemecolor.com/?s (picking one for multicolored logos) + // all dithered on B2, but we only use the color for the icons. (Could maybe pick the closest 3-bit color for B2?) + "facebook": "#4267b2", + "gmail": "#ea4335", + "google home": "#fbbc05", + "hangouts": "#1ba261", + "instagram": "#dd2a7b", + "messenger": "#0078ff", + "outlook mail": "#0072c6", + "skype": "#00aff0", + "slack": "#e51670", + "telegram": "#0088cc", + "twitter": "#1da1f2", + "whatsapp": "#4fce5d", + "wordfeud": "#dcc8bd", + }[(msg.src||"").toLowerCase()]||(def !== undefined?def:g.theme.fg); +} function showMapMessage(msg) { var m; @@ -248,7 +273,7 @@ function showMessage(msgid) { var body = (lines.length>4) ? lines.slice(0,4).join("\n")+"..." : lines.join("\n"); layout = new Layout({ type:"v", c: [ {type:"h", fillx:1, bgCol:colBg, c: [ - { type:"btn", src:getMessageImage(msg), pad: 3, cb:()=>{ + { type:"btn", src:getMessageImage(msg), col:getMessageImageCol(msg), pad: 3, cb:()=>{ cancelReloadTimeout(); // don't auto-reload to clock now showMessageSettings(msg); }}, @@ -310,7 +335,9 @@ function checkMessages(options) { body = msg.track; } if (img) { - g.drawImage(img, x+24, r.y+24, {rotate:0}); // force centering + var fg = g.getColor(); + g.setColor(getMessageImageCol(msg,fg)).drawImage(img, x+24, r.y+24, {rotate:0}) // force centering + .setColor(fg); // only color the icon x += 50; } var m = msg.title+"\n"+msg.body; From d32674f825a0906ca9d1149505371dc4e0f101e2 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 11 Jan 2022 19:17:16 +0100 Subject: [PATCH 2/4] messages: Spread message action buttons out --- apps/messages/ChangeLog | 1 + apps/messages/app.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 84dc67288..4a28f7cd9 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -25,3 +25,4 @@ 0.16: Fix text wrapping so it fits the screen even if title is big (fix #1147) 0.17: Fix: Get dynamic dimensions of notify icon, fixed notification font 0.18: Use app-specific icon colors + Spread message action buttons out diff --git a/apps/messages/app.js b/apps/messages/app.js index f670c39a2..5161ce665 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -253,6 +253,7 @@ function showMessage(msgid) { }} // back ]; if (msg.positive) { + buttons.push({fillx:1}); buttons.push({type:"btn", src:getPosImage(), cb:()=>{ msg.new = false; saveMessages(); cancelReloadTimeout(); // don't auto-reload to clock now @@ -261,6 +262,7 @@ function showMessage(msgid) { }}); } if (msg.negative) { + buttons.push({fillx:1}); buttons.push({type:"btn", src:getNegImage(), cb:()=>{ msg.new = false; saveMessages(); cancelReloadTimeout(); // don't auto-reload to clock now From a945a32f51a7d2a1a42a5a70bed38309aab2d555 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Tue, 11 Jan 2022 19:18:19 +0100 Subject: [PATCH 3/4] messages: Back button now goes back to list of messages --- apps/messages/ChangeLog | 1 + apps/messages/app.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 4a28f7cd9..0c02a76e1 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -26,3 +26,4 @@ 0.17: Fix: Get dynamic dimensions of notify icon, fixed notification font 0.18: Use app-specific icon colors Spread message action buttons out + Back button now goes back to list of messages diff --git a/apps/messages/app.js b/apps/messages/app.js index 5161ce665..4704c422f 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -249,7 +249,7 @@ function showMessage(msgid) { {type:"btn", src:getBackImage(), cb:()=>{ msg.new = false; saveMessages(); // read mail cancelReloadTimeout(); // don't auto-reload to clock now - checkMessages({clockIfNoMsg:1,clockIfAllRead:0,showMsgIfUnread:1}); + checkMessages({clockIfNoMsg:1,clockIfAllRead:0,showMsgIfUnread:0}); }} // back ]; if (msg.positive) { From 5e353b6755d97021a349a980db632aef75486bff Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 12 Jan 2022 09:14:33 +0000 Subject: [PATCH 4/4] messages : If showMessage called with no message (eg all messages deleted) now return to the clock (fix #1267) --- apps/messages/ChangeLog | 1 + apps/messages/app.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 0c02a76e1..522534af0 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -27,3 +27,4 @@ 0.18: Use app-specific icon colors Spread message action buttons out Back button now goes back to list of messages + If showMessage called with no message (eg all messages deleted) now return to the clock (fix #1267) diff --git a/apps/messages/app.js b/apps/messages/app.js index 4704c422f..80e4a3244 100644 --- a/apps/messages/app.js +++ b/apps/messages/app.js @@ -225,7 +225,7 @@ function showMessageSettings(msg) { function showMessage(msgid) { var msg = MESSAGES.find(m=>m.id==msgid); - if (!msg) return checkMessages({clockIfNoMsg:0,clockIfAllRead:0,showMsgIfUnread:0}); // go home if no message found + if (!msg) return checkMessages({clockIfNoMsg:1,clockIfAllRead:0,showMsgIfUnread:0}); // go home if no message found if (msg.src=="Maps") { cancelReloadTimeout(); // don't auto-reload to clock now return showMapMessage(msg);