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",
|
||||
"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",
|
||||
"readme": "README.md",
|
||||
"icon": "icon.png",
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
0.01: New menu!
|
||||
0.02: Clean up touch handler in setUI
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
E.showMenu = function(items) {
|
||||
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) {
|
||||
Bangle.setUI();
|
||||
return;
|
||||
|
@ -206,8 +203,13 @@ E.showMenu = function(items) {
|
|||
if (b===1) back();
|
||||
}
|
||||
}
|
||||
// note: backHandler is cleaned up at the top of this file
|
||||
Bangle.on('touch', Bangle.backHandler);
|
||||
}
|
||||
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