Bugfix: speed and altitude were set to 0m repeatedly (UI only. Data is okay).

Fixes #2258.
This commit is contained in:
Dennis Guse
2026-02-14 23:03:40 +01:00
committed by Dennis Guse
parent 2f6765e45f
commit 447d1bb7a3
7 changed files with 122 additions and 7 deletions
@@ -8,7 +8,7 @@ import androidx.annotation.Nullable;
import java.time.Instant;
public record Position(
@Nullable Instant time,
@Nullable Instant time, //TODO It may be a good idea to move time out of Position
@Nullable Double latitude,
@Nullable Double longitude,
@Nullable Distance horizontalAccuracy,
@@ -126,6 +126,7 @@ public class SensorManager implements SharedPreferences.OnSharedPreferenceChange
gpsHandler.resetAggregated();
}
@VisibleForTesting
public GpsHandler getGpsHandler() {
return gpsHandler;
}
@@ -48,7 +48,8 @@ public class TrackRecordingService extends Service implements TrackPointCreator.
private static final String TAG = TrackRecordingService.class.getSimpleName();
private static final Duration RECORDING_DATA_UPDATE_INTERVAL = Duration.ofSeconds(1);
@VisibleForTesting
public static final Duration RECORDING_DATA_UPDATE_INTERVAL = Duration.ofSeconds(1);
public static final RecordingStatus STATUS_DEFAULT = RecordingStatus.notRecording();
public static final GpsStatusValue STATUS_GPS_DEFAULT = GpsStatusValue.GPS_NONE;
@@ -102,10 +102,10 @@ public class TrackPointCreator implements SharedPreferences.OnSharedPreferenceCh
}
if (lastTrackPointUISpeed != null)
position.with(lastTrackPointUISpeed.position().speed());
position = position.with(lastTrackPointUISpeed.position().speed());
if (lastTrackPointUIAltitude != null)
position.with(lastTrackPointUIAltitude.position().altitude());
position = position.with(lastTrackPointUIAltitude.position().altitude());
TrackPoint currentTrackPoint = new TrackPoint(
null,