Rewritten buzzing on new message, widget buzz method rewritten to return a promise

master
pikipirs 2022-06-13 20:56:42 +02:00
parent 8b2adb2684
commit 725ce88f95
2 changed files with 25 additions and 18 deletions

View File

@ -68,27 +68,34 @@ exports.pushMessage = function(event) {
if(quiet && quietNoAutOpn) {
loadMessages = false;
}
// first, buzz
if (!quiet && loadMessages){
if(global.WIDGETS && WIDGETS.messages)
WIDGETS.messages.buzz();
else
Bangle.buzz();
if(unlockWatch != false){
Bangle.setLocked(false);
Bangle.setLCDPower(1); // turn screen on
}
if (!quiet && loadMessages && unlockWatch != false){
Bangle.setLocked(false);
Bangle.setLCDPower(1); // turn screen on
}
}
// after a delay load the app, to ensure we have all the messages
if (exports.messageTimeout) clearTimeout(exports.messageTimeout);
exports.messageTimeout = setTimeout(function() {
exports.messageTimeout = undefined;
// if we're in a clock or it's important, go straight to messages app
if (loadMessages){
return load("messages.app.js");
var cont = function() {
// if we're in a clock or it's important, go straight to messages app
if (loadMessages){
return load("messages.app.js");
}
if (global.WIDGETS && WIDGETS.messages) { // show messages if widgets are loaded
WIDGETS.messages.show();
}
};
if (quiet) {
//Be quiet and cont()inue displaying.
cont();
} else {
//We have to wait for buzzing to complete before cont()inuing
if(global.WIDGETS && WIDGETS.messages)
WIDGETS.messages.buzz().then(()=>cont());
else
Bangle.buzz().then(()=>cont());
}
if (!quiet && (!global.WIDGETS || !WIDGETS.messages)) return Bangle.buzz(); // no widgets - just buzz to let someone know
WIDGETS.messages.show();
}, 500);
}
/// Remove all messages

View File

@ -15,7 +15,7 @@ draw:function(recall) {
g.drawImage(settings.flash && (c&1) ? atob("GBiBAAAAAAAAAAAAAAAAAAAAAB//+DAADDAADDAADDwAPD8A/DOBzDDn/DA//DAHvDAPvjAPvjAPvjAPvh///gf/vAAD+AAB8AAAAA==") : atob("GBiBAAAAAAAAAAAAAAAAAAAAAB//+D///D///A//8CP/xDj/HD48DD+B8D/D+D/3vD/vvj/vvj/vvj/vvh/v/gfnvAAD+AAB8AAAAA=="), this.x, this.y-1);
}
if (settings.repeat===undefined) settings.repeat = 4;
if (c<120 && (Date.now()-this.l)>settings.repeat*1000) {
if (c<120 && settings.repeat>0 && (Date.now()-this.l)>settings.repeat*1000) {
this.l = Date.now();
WIDGETS["messages"].buzz(); // buzz every 4 seconds
}
@ -33,8 +33,8 @@ draw:function(recall) {
WIDGETS["messages"].width=0;
Bangle.drawWidgets();
},buzz:function() {
if ((require('Storage').readJSON('setting.json',1)||{}).quiet) return; // never buzz during Quiet Mode
require("buzz").pattern((require('Storage').readJSON("messages.settings.json", true) || {}).vibrate || ".");
if ((require('Storage').readJSON('setting.json',1)||{}).quiet) return new Promise((success) => { success(); }); // never buzz during Quiet Mode
return require("buzz").pattern((require('Storage').readJSON("messages.settings.json", true) || {}).vibrate || ".");
},touch:function(b,c) {
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+w.iconwidth) return;