mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-25 23:33:53 +00:00
[android] Clarify speed average behaviour in absence of location updates
Signed-off-by: David Gekeler <git@davidgekeler.eu>
This commit is contained in:
@@ -509,15 +509,18 @@ public class LocationHelper implements BaseLocationProvider.Listener
|
||||
return Float.NaN;
|
||||
if (Double.isNaN(mTimeElapsedAtLastAverage))
|
||||
updateSpeedHistory();
|
||||
if (mSavedLocation.getElapsedRealtimeNanos() * 1.0E-9 - mTimeElapsedAtLastAverage < SPEED_AVERAGING_TIME)
|
||||
double timeDiff = mSavedLocation.getElapsedRealtimeNanos() * 1.0E-9 - mTimeElapsedAtLastAverage;
|
||||
if (timeDiff < SPEED_AVERAGING_TIME)
|
||||
{
|
||||
if (!Float.isNaN(mLastAverageSpeed))
|
||||
return mLastAverageSpeed;
|
||||
else
|
||||
return mSavedLocation.getSpeed();
|
||||
}
|
||||
else
|
||||
{
|
||||
else if (mSpeedHistory.isEmpty())
|
||||
// If no measurements since last average, return 0
|
||||
return 0.0F;
|
||||
else {
|
||||
mLastAverageSpeed = mSpeedHistory.stream().reduce(0.0F, Float::sum);
|
||||
mLastAverageSpeed /= mSpeedHistory.size();
|
||||
mSpeedHistory.clear();
|
||||
|
||||
Reference in New Issue
Block a user