1
0
Fork 0

gpstrek - Actually remove listeners on stopping background service

master
Martin Boonk 2022-10-21 17:04:53 +02:00
parent 81ba4e17fa
commit 038fb1a21b
2 changed files with 20 additions and 6 deletions

View File

@ -331,7 +331,9 @@ function onSwipe(dir){
function setButtons(){ function setButtons(){
let options = { let options = {
mode: "custom", mode: "custom",
swipe: onSwipe swipe: onSwipe,
btn: nextScreen,
touch: nextScreen
}; };
Bangle.setUI(options); Bangle.setUI(options);
} }

View File

@ -23,10 +23,6 @@ function onGPS(fix) {
if(fix.fix) state.currentPos = fix; if(fix.fix) state.currentPos = fix;
} }
Bangle.on('accel', function(e) {
state.acc = e;
});
function onMag(e) { function onMag(e) {
if (!state.compassHeading) state.compassHeading = e.heading; if (!state.compassHeading) state.compassHeading = e.heading;
@ -73,12 +69,17 @@ function onPressure(e) {
} }
} }
function onAcc (e){
state.acc = e;
}
function start(bg){ function start(bg){
Bangle.on('GPS', onGPS); Bangle.on('GPS', onGPS);
Bangle.on("HRM", onPulse); Bangle.on("HRM", onPulse);
Bangle.on("mag", onMag); Bangle.on("mag", onMag);
Bangle.on("step", onStep); Bangle.on("step", onStep);
Bangle.on("pressure", onPressure); Bangle.on("pressure", onPressure);
Bangle.on('accel', onAcc);
Bangle.setGPSPower(1, "gpstrek"); Bangle.setGPSPower(1, "gpstrek");
Bangle.setHRMPower(1, "gpstrek"); Bangle.setHRMPower(1, "gpstrek");
@ -96,8 +97,19 @@ function stop(bg){
if (bg){ if (bg){
if (state.active) bgChanged = true; if (state.active) bgChanged = true;
state.active = false; state.active = false;
saveState(); } else if (!state.active) {
Bangle.setGPSPower(0, "gpstrek");
Bangle.setHRMPower(0, "gpstrek");
Bangle.setCompassPower(0, "gpstrek");
Bangle.setBarometerPower(0, "gpstrek");
Bangle.removeListener('GPS', onGPS);
Bangle.removeListener("HRM", onPulse);
Bangle.removeListener("mag", onMag);
Bangle.removeListener("step", onStep);
Bangle.removeListener("pressure", onPressure);
Bangle.removeListener('accel', onAcc);
} }
saveState();
Bangle.drawWidgets(); Bangle.drawWidgets();
} }