diff --git a/apps/widgps/ChangeLog b/apps/widgps/ChangeLog index f68fc701c..0eb9e5692 100644 --- a/apps/widgps/ChangeLog +++ b/apps/widgps/ChangeLog @@ -3,3 +3,4 @@ 0.03: Fix positioning 0.04: Show GPS fix status 0.05: Don't poll for GPS status, override setGPSPower handler (fix #1456) +0.06: Periodically update so the always on display does show current GPS fix diff --git a/apps/widgps/metadata.json b/apps/widgps/metadata.json index 39bff2fad..b135c77bd 100644 --- a/apps/widgps/metadata.json +++ b/apps/widgps/metadata.json @@ -1,7 +1,7 @@ { "id": "widgps", "name": "GPS Widget", - "version": "0.05", + "version": "0.06", "description": "Tiny widget to show the power and fix status of the GPS", "icon": "widget.png", "type": "widget", diff --git a/apps/widgps/widget.js b/apps/widgps/widget.js index bfdb89d33..269af4953 100644 --- a/apps/widgps/widget.js +++ b/apps/widgps/widget.js @@ -1,9 +1,19 @@ (function(){ + var interval; + // override setGPSPower so we know if GPS is on or off var oldSetGPSPower = Bangle.setGPSPower; Bangle.setGPSPower = function(on,id) { var isGPSon = oldSetGPSPower(on,id); WIDGETS.gps.draw(); + if (isGPSon && interval === undefined) { + interval = setInterval(function() { + WIDGETS.gps.draw(WIDGETS.gps); + }, 10*1000); // update every 10 seconds to show gps fix/no fix + } else if (!isGPSon && interval !== undefined) { + clearInterval(interval); + interval = undefined; + } return isGPSon; }