While recording: UI updates altitude, speed, and bearing to most recently received value.

Fixes #866.
This commit is contained in:
Dennis Guse
2021-07-15 19:22:34 +02:00
parent db24639829
commit d42d1214ea
2 changed files with 18 additions and 9 deletions
@@ -28,7 +28,7 @@ class LocationHandler implements LocationListener, GpsStatus.GpsStatusListener {
private LocationListenerPolicy locationListenerPolicy;
private Duration currentRecordingInterval;
private Distance thresholdHorizontalAccuracy;
private TrackPoint lastValidTrackPoint;
private TrackPoint lastTrackPoint;
public LocationHandler(HandlerServer handlerServer) {
this.handlerServer = handlerServer;
@@ -110,8 +110,8 @@ class LocationHandler implements LocationListener, GpsStatus.GpsStatusListener {
}
Duration idleTime = Duration.ofSeconds(0);
if (lastValidTrackPoint != null && trackPoint.getTime().isAfter(lastValidTrackPoint.getTime())) {
idleTime = Duration.between(lastValidTrackPoint.getTime(), trackPoint.getTime());
if (lastTrackPoint != null && trackPoint.getTime().isAfter(lastTrackPoint.getTime())) {
idleTime = Duration.between(lastTrackPoint.getTime(), trackPoint.getTime());
}
locationListenerPolicy.updateIdleTime(idleTime);
@@ -119,7 +119,7 @@ class LocationHandler implements LocationListener, GpsStatus.GpsStatusListener {
registerLocationListener();
}
lastValidTrackPoint = trackPoint;
lastTrackPoint = trackPoint;
handlerServer.onNewTrackPoint(trackPoint, thresholdHorizontalAccuracy);
}
@@ -155,6 +155,10 @@ class LocationHandler implements LocationListener, GpsStatus.GpsStatusListener {
}
}
TrackPoint getLastTrackPoint() {
return lastTrackPoint;
}
/**
* Called from {@link GpsStatus} to inform that GPS status has changed from prevStatus to currentStatus.
*