From af96bbf3a91efbb5df56ee760822eaab703c93e9 Mon Sep 17 00:00:00 2001 From: Harry Bond Date: Thu, 2 Jan 2025 19:05:09 +0000 Subject: [PATCH] [android] Always use newest position available in every mode Signed-off-by: Harry Bond --- .../organicmaps/location/LocationHelper.java | 20 +++++++------------ 1 file changed, 7 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 92ab5e13c1..a9c203b142 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 = 0; - 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 @@ -316,20 +313,17 @@ public class LocationHelper implements BaseLocationProvider.Listener mListeners.removeObserver(listener); } +// Update intervals based on mode were previously implemented, check 3bf65fe80fcd2d292bc4943b8f3bc407a1fe4ede 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); }; } -- 2.45.3