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.FeatureId;
|
||||||
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
import app.organicmaps.sdk.bookmarks.data.MapObject;
|
||||||
import app.organicmaps.sdk.routing.JunctionInfo;
|
import app.organicmaps.sdk.routing.JunctionInfo;
|
||||||
import app.organicmaps.sdk.routing.RoutingController;
|
|
||||||
import app.organicmaps.sdk.util.Config;
|
import app.organicmaps.sdk.util.Config;
|
||||||
import app.organicmaps.sdk.util.LocationUtils;
|
import app.organicmaps.sdk.util.LocationUtils;
|
||||||
import app.organicmaps.sdk.util.NetworkPolicy;
|
import app.organicmaps.sdk.util.NetworkPolicy;
|
||||||
@@ -30,10 +29,8 @@ import org.chromium.base.ObserverList;
|
|||||||
|
|
||||||
public class LocationHelper implements BaseLocationProvider.Listener
|
public class LocationHelper implements BaseLocationProvider.Listener
|
||||||
{
|
{
|
||||||
private static final long INTERVAL_FOLLOW_MS = 0;
|
private static final long INTERVAL_MS = 500;
|
||||||
private static final long INTERVAL_NOT_FOLLOW_MS = 3000;
|
private static final long INTERVAL_TRACK_RECORDING = 1000;
|
||||||
private static final long INTERVAL_NAVIGATION_MS = 1000;
|
|
||||||
private static final long INTERVAL_TRACK_RECORDING = 0;
|
|
||||||
|
|
||||||
private static final long AGPS_EXPIRATION_TIME_MS = 16 * 60 * 60 * 1000; // 16 hours
|
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
|
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()
|
private long calcLocationUpdatesInterval()
|
||||||
{
|
{
|
||||||
if (RoutingController.get().isNavigating())
|
|
||||||
return INTERVAL_NAVIGATION_MS;
|
|
||||||
|
|
||||||
if (TrackRecorder.nativeIsTrackRecordingEnabled())
|
if (TrackRecorder.nativeIsTrackRecordingEnabled())
|
||||||
return INTERVAL_TRACK_RECORDING;
|
return INTERVAL_TRACK_RECORDING;
|
||||||
|
|
||||||
final int mode = Map.isEngineCreated() ? LocationState.getMode() : LocationState.NOT_FOLLOW_NO_POSITION;
|
return INTERVAL_MS;
|
||||||
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);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user