From f6f40b70177fc02224e2c6245d4f97ac774c3564 Mon Sep 17 00:00:00 2001 From: Alex Meyer Date: Tue, 5 Sep 2023 22:51:12 -0400 Subject: [PATCH] add repeatCalls option --- apps/messages/ChangeLog | 1 + apps/messages/lib.js | 4 +++- apps/messages/metadata.json | 2 +- apps/messages/settings.js | 7 +++++++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/messages/ChangeLog b/apps/messages/ChangeLog index 416363c45..5f4a81d1f 100644 --- a/apps/messages/ChangeLog +++ b/apps/messages/ChangeLog @@ -4,3 +4,4 @@ 0.58: show/hide "messages" widget directly, instead of through library stub 0.59: fixes message timeout by using setinterval, as it was intended. So the buzz is triggered every x seconds until the timeout occours. 0.60: Bump version to allow new buzz.js module to be loaded - fixes memory/performance hog when buzz called +0.61: Add repeatCalls option to allow different repeat settings for messages vs calls diff --git a/apps/messages/lib.js b/apps/messages/lib.js index f3ae253e6..59a0feea5 100644 --- a/apps/messages/lib.js +++ b/apps/messages/lib.js @@ -204,16 +204,18 @@ exports.buzz = function(msgSrc) { if ((require("Storage").readJSON("setting.json", 1) || {}).quiet) return Promise.resolve(); // never buzz during Quiet Mode const msgSettings = require("Storage").readJSON("messages.settings.json", true) || {}; let pattern; + let repeat; if (msgSrc && msgSrc.toLowerCase()==="phone") { // special vibration pattern for incoming calls pattern = msgSettings.vibrateCalls; + repeat = msgSettings.repeatCalls; } else { pattern = msgSettings.vibrate; + repeat = msgSettings.repeat; } if (pattern===undefined) { pattern = ":"; } // pattern may be "", so we can't use || ":" here if (!pattern) return Promise.resolve(); - let repeat = msgSettings.repeat; if (repeat===undefined) repeat = 4; // repeat may be zero if (repeat) { diff --git a/apps/messages/metadata.json b/apps/messages/metadata.json index e8aacd976..0ae661fd2 100644 --- a/apps/messages/metadata.json +++ b/apps/messages/metadata.json @@ -1,7 +1,7 @@ { "id": "messages", "name": "Messages", - "version": "0.60", + "version": "0.61", "description": "Library to handle, load and store message events received from Android/iOS", "icon": "app.png", "type": "module", diff --git a/apps/messages/settings.js b/apps/messages/settings.js index 09c9db455..c54c6b24e 100644 --- a/apps/messages/settings.js +++ b/apps/messages/settings.js @@ -6,6 +6,7 @@ if (settings.vibrate===undefined) settings.vibrate=":"; if (settings.vibrateCalls===undefined) settings.vibrateCalls=":"; if (settings.repeat===undefined) settings.repeat=4; + if (settings.repeatCalls===undefined) settings.repeatCalls=4; if (settings.vibrateTimeout===undefined) settings.vibrateTimeout=60; if (settings.unreadTimeout===undefined) settings.unreadTimeout=60; if (settings.maxMessages===undefined) settings.maxMessages=3; @@ -33,6 +34,12 @@ format: v => v?v+"s":/*LANG*/"Off", onchange: v => updateSetting("repeat", v) }, + /*LANG*/'Repeat for calls': { + value: settings().repeatCalls, + min: 0, max: 10, + format: v => v?v+"s":/*LANG*/"Off", + onchange: v => updateSetting("repeatCalls", v) + }, /*LANG*/'Vibrate timer': { value: settings().vibrateTimeout, min: 0, max: settings().maxUnreadTimeout, step : 10,