forked from FOSS/BangleApps
Merge pull request #2615 from halemmerich/messageoverlay
messagesoverlay - Fix handlers being restored incorrectly if message removedmaster
commit
e19f53895e
|
@ -1 +1,2 @@
|
||||||
0.01: Initial fork from messages_light
|
0.01: Initial fork from messages_light
|
||||||
|
0.02: Fix touch/drag/swipe handlers not being restored correctly if a message is removed
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.8 KiB |
|
@ -389,19 +389,17 @@ let getTouchHandler = function(ovr){
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
let touchHandler;
|
|
||||||
let swipeHandler;
|
|
||||||
|
|
||||||
let restoreHandler = function(event){
|
let restoreHandler = function(event){
|
||||||
if (backup[event]){
|
LOG("Restore", event, backup[event]);
|
||||||
Bangle["#on" + event]=backup[event];
|
Bangle.removeAllListeners(event);
|
||||||
backup[event] = undefined;
|
Bangle["#on" + event]=backup[event];
|
||||||
}
|
backup[event] = undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
let backupHandler = function(event){
|
let backupHandler = function(event){
|
||||||
if (eventQueue.length > 1 && ovr) return; // do not backup, overlay is already up
|
if (backupDone) return; // do not backup, overlay is already up
|
||||||
backup[event] = Bangle["#on" + event];
|
backup[event] = Bangle["#on" + event];
|
||||||
|
LOG("Backed up", backup[event]);
|
||||||
Bangle.removeAllListeners(event);
|
Bangle.removeAllListeners(event);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -414,21 +412,16 @@ let cleanup = function(){
|
||||||
restoreHandler("swipe");
|
restoreHandler("swipe");
|
||||||
restoreHandler("drag");
|
restoreHandler("drag");
|
||||||
|
|
||||||
if (touchHandler) {
|
|
||||||
Bangle.removeListener("touch", touchHandler);
|
|
||||||
touchHandler = undefined;
|
|
||||||
}
|
|
||||||
if (swipeHandler) {
|
|
||||||
Bangle.removeListener("swipe", swipeHandler);
|
|
||||||
swipeHandler = undefined;
|
|
||||||
}
|
|
||||||
Bangle.setLCDOverlay();
|
Bangle.setLCDOverlay();
|
||||||
|
backupDone = false;
|
||||||
ovr = undefined;
|
ovr = undefined;
|
||||||
quiet = undefined;
|
quiet = undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
let backup = {};
|
let backup = {};
|
||||||
|
|
||||||
|
let backupDone = false;
|
||||||
|
|
||||||
let main = function(ovr, event) {
|
let main = function(ovr, event) {
|
||||||
LOG("Main", event, settings);
|
LOG("Main", event, settings);
|
||||||
|
|
||||||
|
@ -441,13 +434,11 @@ let main = function(ovr, event) {
|
||||||
backupHandler("touch");
|
backupHandler("touch");
|
||||||
backupHandler("swipe");
|
backupHandler("swipe");
|
||||||
backupHandler("drag");
|
backupHandler("drag");
|
||||||
|
if (!backupDone){
|
||||||
if (touchHandler) Bangle.removeListener("touch",touchHandler);
|
Bangle.on('touch', getTouchHandler(ovr));
|
||||||
if (swipeHandler) Bangle.removeListener("swipe",swipeHandler);
|
Bangle.on('swipe', getSwipeHandler(ovr));
|
||||||
touchHandler = getTouchHandler(ovr);
|
}
|
||||||
swipeHandler = getSwipeHandler(ovr);
|
backupDone=true;
|
||||||
Bangle.on('touch', touchHandler);
|
|
||||||
Bangle.on('swipe', swipeHandler);
|
|
||||||
|
|
||||||
if (event !== undefined){
|
if (event !== undefined){
|
||||||
drawBorder(ovr);
|
drawBorder(ovr);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"id": "messagesoverlay",
|
"id": "messagesoverlay",
|
||||||
"name": "Messages Overlay",
|
"name": "Messages Overlay",
|
||||||
"version": "0.01",
|
"version": "0.02",
|
||||||
"description": "An overlay based implementation of a messages UI (display notifications from iOS and Gadgetbridge/Android)",
|
"description": "An overlay based implementation of a messages UI (display notifications from iOS and Gadgetbridge/Android)",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "bootloader",
|
"type": "bootloader",
|
||||||
|
@ -10,7 +10,6 @@
|
||||||
"dependencies" : { "messageicons":"module","messages":"app" },
|
"dependencies" : { "messageicons":"module","messages":"app" },
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"messagesoverlay.settings.js","url":"settings.js"},
|
|
||||||
{"name":"messagesoverlay","url":"lib.js"},
|
{"name":"messagesoverlay","url":"lib.js"},
|
||||||
{"name":"messagesoverlay.boot.js","url":"boot.js"}
|
{"name":"messagesoverlay.boot.js","url":"boot.js"}
|
||||||
],
|
],
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
eval(require("Storage").read("messages.settings.js"));
|
|
Loading…
Reference in New Issue