mirror of https://github.com/espruino/BangleApps
sensortools - Fix sensortools breaking Bangle.emit with multiple arguments (e.g. "message")
parent
61a3b406af
commit
a2d1b9c0fb
|
@ -4,3 +4,4 @@
|
||||||
0.04: Correct type of time attribute in gps to Date
|
0.04: Correct type of time attribute in gps to Date
|
||||||
0.05: Fix gps emulation interpolation
|
0.05: Fix gps emulation interpolation
|
||||||
Add setting for log output
|
Add setting for log output
|
||||||
|
0.06: Fix sensortools breaking Bangle.emit with multiple arguments (e.g. "message")
|
||||||
|
|
|
@ -20,37 +20,44 @@ exports.enable = () => {
|
||||||
Bangle.sensortoolsOrigEmit = Bangle.emit;
|
Bangle.sensortoolsOrigEmit = Bangle.emit;
|
||||||
Bangle.sensortoolsOrigRemoveListener = Bangle.removeListener;
|
Bangle.sensortoolsOrigRemoveListener = Bangle.removeListener;
|
||||||
|
|
||||||
|
const modifyArguments = function(args, value) {
|
||||||
|
if (args.length >= 1)
|
||||||
|
args[0] = value;
|
||||||
|
return args;
|
||||||
|
};
|
||||||
|
|
||||||
Bangle.on = function(name, callback) {
|
Bangle.on = function(name, callback) {
|
||||||
if (onEvents[name]) {
|
if (onEvents[name]) {
|
||||||
log("Redirecting listener for", name, "to", name + "_mod");
|
log("Redirecting listener for", name, "to", name + "_mod");
|
||||||
Bangle.sensortoolsOrigOn(name + "_mod", callback);
|
let origName = name;
|
||||||
Bangle.sensortoolsOrigOn(name, (e) => {
|
Bangle.sensortoolsOrigOn(origName, (e) => {
|
||||||
log("Redirected event for", name, "to", name + "_mod");
|
log("Redirected event for", origName, "to", origName + "_mod");
|
||||||
Bangle.sensortoolsOrigEmit(name + "_mod", onEvents[name](e));
|
Bangle.sensortoolsOrigEmit(origName + "_mod", onEvents[origName](e));
|
||||||
});
|
});
|
||||||
|
Bangle.sensortoolsOrigOn.apply(this, modifyArguments(arguments, name + "_mod"));
|
||||||
} else {
|
} else {
|
||||||
log("Pass through on call for", name, callback);
|
log("Pass through on call for", name, callback);
|
||||||
Bangle.sensortoolsOrigOn(name, callback);
|
Bangle.sensortoolsOrigOn.apply(this, arguments);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Bangle.removeListener = function(name, callback) {
|
Bangle.removeListener = function(name) {
|
||||||
if (onEvents[name]) {
|
if (onEvents[name]) {
|
||||||
log("Removing augmented listener for", name, onEvents[name]);
|
log("Removing augmented listener for", name, onEvents[name]);
|
||||||
Bangle.sensortoolsOrigRemoveListener(name + "_mod", callback);
|
Bangle.sensortoolsOrigRemoveListener.apply(this, modifyArguments(arguments, name + "_mod"));
|
||||||
} else {
|
} else {
|
||||||
log("Pass through remove listener for", name);
|
log("Pass through remove listener for", name);
|
||||||
Bangle.sensortoolsOrigRemoveListener(name, callback);
|
Bangle.sensortoolsOrigRemoveListener.apply(this, arguments);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Bangle.emit = function(name, event) {
|
Bangle.emit = function(name) {
|
||||||
if (onEvents[name]) {
|
if (onEvents[name]) {
|
||||||
log("Augmenting emit call for", name, onEvents[name]);
|
log("Augmenting emit call for", name, onEvents[name]);
|
||||||
Bangle.sensortoolsOrigEmit(name + "_mod", event);
|
Bangle.sensortoolsOrigEmit.apply(this, modifyArguments(arguments, name + "_mod"));
|
||||||
} else {
|
} else {
|
||||||
log("Pass through emit call for", name);
|
log("Pass through emit call for", name);
|
||||||
Bangle.sensortoolsOrigEmit(name, event);
|
Bangle.sensortoolsOrigEmit.apply(this, arguments);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "sensortools",
|
"id": "sensortools",
|
||||||
"name": "Sensor tools",
|
"name": "Sensor tools",
|
||||||
"shortName": "Sensor tools",
|
"shortName": "Sensor tools",
|
||||||
"version": "0.05",
|
"version": "0.06",
|
||||||
"description": "Tools for testing and debugging apps that use sensor input",
|
"description": "Tools for testing and debugging apps that use sensor input",
|
||||||
"icon": "icon.png",
|
"icon": "icon.png",
|
||||||
"type": "bootloader",
|
"type": "bootloader",
|
||||||
|
|
Loading…
Reference in New Issue