From 89a8d9a0263404725e8a14468d8c120593acda0e Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Thu, 13 Oct 2022 20:30:12 +0200 Subject: [PATCH] gpstrek - Differentiate between starting/stopping for usage and background --- apps/gpstrek/app.js | 6 +++--- apps/gpstrek/widget.js | 15 ++++++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/apps/gpstrek/app.js b/apps/gpstrek/app.js index 091c407fb..057d01388 100644 --- a/apps/gpstrek/app.js +++ b/apps/gpstrek/app.js @@ -7,7 +7,7 @@ if (showWidgets){ } let state = WIDGETS["gpstrek"].getState(); -WIDGETS["gpstrek"].start(); +WIDGETS["gpstrek"].start(false); function parseNumber(toParse){ if (toParse.includes(".")) return parseFloat(toParse); @@ -591,8 +591,8 @@ function showMenu(){ "Route" : showRouteMenu, "Waypoint" : showWaypointMenu, "Calibration": showCalibrationMenu, - "Start" : ()=>{ E.showPrompt("Start?").then((v)=>{ if (v) {state.active = true; removeMenu();} else {E.showMenu(mainmenu);}});}, - "Stop" : ()=>{ E.showPrompt("Stop?").then((v)=>{ if (v) {WIDGETS["gpstrek"].stop(); removeMenu();} else {E.showMenu(mainmenu);}});}, + "Start" : ()=>{ E.showPrompt("Start?").then((v)=>{ if (v) {WIDGETS["gpstrek"].start(true); removeMenu();} else {E.showMenu(mainmenu);}});}, + "Stop" : ()=>{ E.showPrompt("Stop?").then((v)=>{ if (v) {WIDGETS["gpstrek"].stop(true); removeMenu();} else {E.showMenu(mainmenu);}});}, "Reset" : ()=>{ E.showPrompt("Do Reset?").then((v)=>{ if (v) {WIDGETS["gpstrek"].resetState(); removeMenu();} else {E.showMenu(mainmenu);}});}, "Slices" : { value : numberOfSlices, diff --git a/apps/gpstrek/widget.js b/apps/gpstrek/widget.js index bba1298d0..acb8e016a 100644 --- a/apps/gpstrek/widget.js +++ b/apps/gpstrek/widget.js @@ -72,7 +72,7 @@ function onPressure(e) { } } -function start(){ +function start(bg){ Bangle.on('GPS', onGPS); Bangle.on("HRM", onPulse); Bangle.on("mag", onMag); @@ -83,13 +83,18 @@ function start(){ Bangle.setHRMPower(1, "gpstrek"); Bangle.setCompassPower(1, "gpstrek"); Bangle.setBarometerPower(1, "gpstrek"); - state.active = true; + if (bg){ + state.active = true; + saveState(); + } Bangle.drawWidgets(); } -function stop(){ - state.active = false; - saveState(); +function stop(bg){ + if (bg){ + state.active = false; + saveState(); + } Bangle.drawWidgets(); }