messages 0.07: Added settings menu with option to choose vibrate pattern and frequency (fix #909)
parent
5f5ca64cb4
commit
e8264cc8f8
|
|
@ -32,7 +32,7 @@
|
||||||
{
|
{
|
||||||
"id": "messages",
|
"id": "messages",
|
||||||
"name": "Messages",
|
"name": "Messages",
|
||||||
"version": "0.06",
|
"version": "0.07",
|
||||||
"description": "App to display notifications from iOS and Gadgetbridge",
|
"description": "App to display notifications from iOS and Gadgetbridge",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
|
|
@ -41,11 +41,12 @@
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"messages.app.js","url":"app.js"},
|
{"name":"messages.app.js","url":"app.js"},
|
||||||
|
{"name":"messages.settings.js","url":"settings.js"},
|
||||||
{"name":"messages.img","url":"app-icon.js","evaluate":true},
|
{"name":"messages.img","url":"app-icon.js","evaluate":true},
|
||||||
{"name":"messages.wid.js","url":"widget.js"},
|
{"name":"messages.wid.js","url":"widget.js"},
|
||||||
{"name":"messages","url":"lib.js"}
|
{"name":"messages","url":"lib.js"}
|
||||||
],
|
],
|
||||||
"data": [{"name":"messages.json"}],
|
"data": [{"name":"messages.json"},{"name":"messages.settings.json"}],
|
||||||
"sortorder": -9
|
"sortorder": -9
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1 +1,3 @@
|
||||||
|
Bangle.loadWidgets();
|
||||||
|
Bangle.drawWidgets();
|
||||||
eval(require("Storage").read("android.settings.js"))(()=>load());
|
eval(require("Storage").read("android.settings.js"))(()=>load());
|
||||||
|
|
|
||||||
|
|
@ -7,3 +7,4 @@
|
||||||
Answering true/false now exits the messages app if no new messages
|
Answering true/false now exits the messages app if no new messages
|
||||||
Back now marks a message as read
|
Back now marks a message as read
|
||||||
Clicking top-left opens a menu which allows you to delete a message or mark unread
|
Clicking top-left opens a menu which allows you to delete a message or mark unread
|
||||||
|
0.07: Added settings menu with option to choose vibrate pattern and frequency (fix #909)
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,10 @@ var MESSAGES = require("Storage").readJSON("messages.json",1)||[];
|
||||||
if (!Array.isArray(MESSAGES)) MESSAGES=[];
|
if (!Array.isArray(MESSAGES)) MESSAGES=[];
|
||||||
var onMessagesModified = function(msg) {
|
var onMessagesModified = function(msg) {
|
||||||
// TODO: if new, show this new one
|
// TODO: if new, show this new one
|
||||||
if (msg.new) Bangle.buzz();
|
if (msg.new) {
|
||||||
|
if (WIDGETS["messages"]) WIDGETS["messages"].buzz();
|
||||||
|
else Bangle.buzz();
|
||||||
|
}
|
||||||
showMessage(msg.id);
|
showMessage(msg.id);
|
||||||
};
|
};
|
||||||
function saveMessages() {
|
function saveMessages() {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
WIDGETS["messages"]={area:"tl",width:0,draw:function() {
|
WIDGETS["messages"]={area:"tl",width:0,draw:function() {
|
||||||
if (!this.width) return;
|
if (!this.width) return;
|
||||||
var c = (Date.now()-this.t)/1000;
|
var c = (Date.now()-this.t)/1000;
|
||||||
|
|
@ -5,9 +6,11 @@ WIDGETS["messages"]={area:"tl",width:0,draw:function() {
|
||||||
g.clearRect(this.x,this.y,this.x+this.width,this.y+23);
|
g.clearRect(this.x,this.y,this.x+this.width,this.y+23);
|
||||||
g.setFont("6x8:1x2").setFontAlign(0,0).drawString("MESSAGES", this.x+this.width/2, this.y+12);
|
g.setFont("6x8:1x2").setFontAlign(0,0).drawString("MESSAGES", this.x+this.width/2, this.y+12);
|
||||||
//if (c<60) Bangle.setLCDPower(1); // keep LCD on for 1 minute
|
//if (c<60) Bangle.setLCDPower(1); // keep LCD on for 1 minute
|
||||||
if (c<120 && (Date.now()-this.l)>4000) {
|
let settings = require('Storage').readJSON("messages.settings.json", true) || {};
|
||||||
|
if (settings.repeat===undefined) settings.repeat = 4;
|
||||||
|
if (c<120 && (Date.now()-this.l)>settings.repeat*1000) {
|
||||||
this.l = Date.now();
|
this.l = Date.now();
|
||||||
Bangle.buzz(); // buzz every 4 seconds
|
WIDGETS["messages"].buzz(); // buzz every 4 seconds
|
||||||
}
|
}
|
||||||
setTimeout(()=>WIDGETS["messages"].draw(), 1000);
|
setTimeout(()=>WIDGETS["messages"].draw(), 1000);
|
||||||
},show:function() {
|
},show:function() {
|
||||||
|
|
@ -21,4 +24,13 @@ WIDGETS["messages"]={area:"tl",width:0,draw:function() {
|
||||||
delete WIDGETS["messages"].l;
|
delete WIDGETS["messages"].l;
|
||||||
WIDGETS["messages"].width=0;
|
WIDGETS["messages"].width=0;
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
|
},buzz:function() {
|
||||||
|
let v = (require('Storage').readJSON("messages.settings.json", true) || {}).vibrate || ".";
|
||||||
|
function b() {
|
||||||
|
var c = v[0];
|
||||||
|
v = v.substr(1);
|
||||||
|
if (c==".") Bangle.buzz().then(()=>setTimeout(b,100));
|
||||||
|
if (c=="-") Bangle.buzz(500).then(()=>setTimeout(b,100));
|
||||||
|
}
|
||||||
|
b();
|
||||||
}};
|
}};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue