diff --git a/client/src/main/kotlin/org/microg/nlp/client/UnifiedLocationClient.kt b/client/src/main/kotlin/org/microg/nlp/client/UnifiedLocationClient.kt index 141a705ae996ca04f872f48fdc06c2163155912d..e67088588329d3b3e0434bd266147d1818d1c9f8 100644 --- a/client/src/main/kotlin/org/microg/nlp/client/UnifiedLocationClient.kt +++ b/client/src/main/kotlin/org/microg/nlp/client/UnifiedLocationClient.kt @@ -444,6 +444,7 @@ class UnifiedLocationClient private constructor(context: Context) { for (request in requests) { if (request.interval <= 0) { requestSingle = true + forceNextUpdate = true continue } interval = min(interval, request.interval) diff --git a/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.java b/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.java index 492b4dd4bf399b965d538a340771eb58e8c2bf66..6b4bab7d86aac3d77ed9f1282caba4a895d1e154 100644 --- a/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.java +++ b/location-v2/src/main/java/org/microg/nlp/location/v2/LocationProvider.java @@ -64,7 +64,12 @@ public class LocationProvider extends LocationProviderBase implements UnifiedLoc } catch (Exception ignored) { } - long autoTime = Math.max(requests.getInterval(), FASTEST_REFRESH_INTERVAL); + long interval = requests.getInterval(); + long autoTime = 0; + if (interval > 0) { + autoTime = Math.max(interval, FASTEST_REFRESH_INTERVAL); + } + boolean autoUpdate = requests.getReportLocation(); Log.v(TAG, "using autoUpdate=" + autoUpdate + " autoTime=" + autoTime);