diff --git a/app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js b/app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js index 33d132f8..5e80f52f 100644 --- a/app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js +++ b/app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js @@ -1,9 +1,12 @@ +var reportedPositionFailures = 0; navigator.geolocation.getCurrentPosition = function(success, failure, options) { //override because default implementation requires GPS permission geoposition = JSON.parse(GBjs.getCurrentPosition()); - if(options && options.maximumAge && geoposition.timestamp < Date.now() - options.maximumAge) { + if(options && options.maximumAge && (geoposition.timestamp < Date.now() - options.maximumAge) && reportedPositionFailures <= 10 ) { + reportedPositionFailures++; failure({ code: 2, message: "POSITION_UNAVAILABLE"}); } else { + reportedPositionFailures = 0; success(geoposition); } }