mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-21 22:03:37 +00:00
[android] increase location update freq from 1s to 0.5s, don't take 3s to update when not following position
supersedes #1022 I don't think there's much point in mode-dependent update frequencies, AFAIK it's from earlier maps.me days when phones were weaker. Signed-off-by: Harry Bond <me@hbond.xyz>
This commit is contained in:
committed by
Konstantin Pastbin
parent
74a36bc49a
commit
73238a6e3c
@@ -21,7 +21,6 @@ import app.organicmaps.sdk.Map;
|
||||
import app.organicmaps.sdk.bookmarks.data.FeatureId;
|
||||
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
||||
import app.organicmaps.sdk.routing.JunctionInfo;
|
||||
import app.organicmaps.sdk.routing.RoutingController;
|
||||
import app.organicmaps.sdk.util.Config;
|
||||
import app.organicmaps.sdk.util.LocationUtils;
|
||||
import app.organicmaps.sdk.util.NetworkPolicy;
|
||||
@@ -30,10 +29,8 @@ import org.chromium.base.ObserverList;
|
||||
|
||||
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 = 500;
|
||||
private static final long INTERVAL_TRACK_RECORDING = 1000;
|
||||
|
||||
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
|
||||
@@ -311,19 +308,10 @@ 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;
|
||||
default -> throw new IllegalArgumentException("Unsupported location mode: " + mode);
|
||||
};
|
||||
return INTERVAL_MS;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user