mirror of https://github.com/espruino/BangleApps
menuwheel: override Bangle.setUI to clear up touch handler
Because apps/libraries expect setUI to clean up touch handlers.pull/1245/head
parent
53d7103272
commit
2db23a39a6
|
@ -4805,7 +4805,7 @@
|
||||||
{
|
{
|
||||||
"id": "menuwheel",
|
"id": "menuwheel",
|
||||||
"name": "Wheel Menus",
|
"name": "Wheel Menus",
|
||||||
"version": "0.01",
|
"version": "0.02",
|
||||||
"description": "Replace Bangle.js 2's menus with a version that contains variable-size text and a back button",
|
"description": "Replace Bangle.js 2's menus with a version that contains variable-size text and a back button",
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"icon": "icon.png",
|
"icon": "icon.png",
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
0.01: New menu!
|
0.01: New menu!
|
||||||
|
0.02: Clean up touch handler in setUI
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
E.showMenu = function(items) {
|
E.showMenu = function(items) {
|
||||||
g.clearRect(Bangle.appRect); // clear screen if no menu supplied
|
g.clearRect(Bangle.appRect); // clear screen if no menu supplied
|
||||||
// clean up back button listener
|
|
||||||
if (Bangle.backHandler) Bangle.removeListener('touch', Bangle.backHandler)
|
|
||||||
delete Bangle.backHandler;
|
|
||||||
if (!items) {
|
if (!items) {
|
||||||
Bangle.setUI();
|
Bangle.setUI();
|
||||||
return;
|
return;
|
||||||
|
@ -206,8 +203,13 @@ E.showMenu = function(items) {
|
||||||
if (b===1) back();
|
if (b===1) back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// note: backHandler is cleaned up at the top of this file
|
|
||||||
Bangle.on('touch', Bangle.backHandler);
|
Bangle.on('touch', Bangle.backHandler);
|
||||||
}
|
}
|
||||||
return l;
|
return l;
|
||||||
};
|
};
|
||||||
|
// setUI now also needs to clear up our back button touch handler
|
||||||
|
Bangle.setUI = (old => function() {
|
||||||
|
if (Bangle.backHandler) Bangle.removeListener("touch", Bangle.backHandler);
|
||||||
|
delete Bangle.backHandler;
|
||||||
|
return old.apply(this, arguments);
|
||||||
|
})(Bangle.setUI);
|
Loading…
Reference in New Issue