From c7b32e240a6a66005bbc31f3e9647ac0ef81ba87 Mon Sep 17 00:00:00 2001 From: Harry Bond Date: Tue, 22 Jul 2025 23:42:47 +0100 Subject: [PATCH] [android] Always use newest position available in every mode Signed-off-by: Harry Bond Signed-off-by: Harry Bond --- .../organicmaps/location/LocationHelper.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/location/LocationHelper.java b/android/app/src/main/java/app/organicmaps/location/LocationHelper.java index 4cb376f38..fb53247fb 100644 --- a/android/app/src/main/java/app/organicmaps/location/LocationHelper.java +++ b/android/app/src/main/java/app/organicmaps/location/LocationHelper.java @@ -34,10 +34,7 @@ import app.organicmaps.util.log.Logger; public class LocationHelper implements BaseLocationProvider.Listener { - private static final long INTERVAL_FOLLOW_MS = 0; - private static final long INTERVAL_NOT_FOLLOW_MS = 3000; - private static final long INTERVAL_NAVIGATION_MS = 1000; - private static final long INTERVAL_TRACK_RECORDING = 0; + private static final long INTERVAL_MS = 0; private static final long AGPS_EXPIRATION_TIME_MS = 16 * 60 * 60 * 1000; // 16 hours private static final long LOCATION_UPDATE_TIMEOUT_MS = 30 * 1000; // 30 seconds @@ -318,18 +315,14 @@ public class LocationHelper implements BaseLocationProvider.Listener private long calcLocationUpdatesInterval() { - if (RoutingController.get().isNavigating()) - return INTERVAL_NAVIGATION_MS; - - if (TrackRecorder.nativeIsTrackRecordingEnabled()) - return INTERVAL_TRACK_RECORDING; - final int mode = Map.isEngineCreated() ? LocationState.getMode() : LocationState.NOT_FOLLOW_NO_POSITION; return switch (mode) { - case LocationState.PENDING_POSITION, LocationState.FOLLOW, LocationState.FOLLOW_AND_ROTATE -> - INTERVAL_FOLLOW_MS; - case LocationState.NOT_FOLLOW, LocationState.NOT_FOLLOW_NO_POSITION -> INTERVAL_NOT_FOLLOW_MS; + case LocationState.PENDING_POSITION, + LocationState.FOLLOW, + LocationState.FOLLOW_AND_ROTATE, + LocationState.NOT_FOLLOW, + LocationState.NOT_FOLLOW_NO_POSITION -> INTERVAL_MS; default -> throw new IllegalArgumentException("Unsupported location mode: " + mode); }; }