mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-22 22:23:44 +00:00
[android] Fix avg speed display edge case, simplify code
Signed-off-by: gekeleda <git@davidgekeler.eu>
This commit is contained in:
@@ -510,16 +510,13 @@ public class LocationHelper implements BaseLocationProvider.Listener
|
|||||||
if (Double.isNaN(mTimeElapsedAtLastAverage))
|
if (Double.isNaN(mTimeElapsedAtLastAverage))
|
||||||
updateSpeedHistory();
|
updateSpeedHistory();
|
||||||
double timeDiff = mSavedLocation.getElapsedRealtimeNanos() * 1.0E-9 - mTimeElapsedAtLastAverage;
|
double timeDiff = mSavedLocation.getElapsedRealtimeNanos() * 1.0E-9 - mTimeElapsedAtLastAverage;
|
||||||
if (timeDiff < SPEED_AVERAGING_TIME)
|
if (timeDiff < SPEED_AVERAGING_TIME || mSpeedHistory.isEmpty())
|
||||||
{
|
{
|
||||||
if (!Float.isNaN(mLastAverageSpeed))
|
if (!Float.isNaN(mLastAverageSpeed))
|
||||||
return mLastAverageSpeed;
|
return mLastAverageSpeed;
|
||||||
else
|
else
|
||||||
return mSavedLocation.getSpeed();
|
return mSavedLocation.getSpeed();
|
||||||
}
|
}
|
||||||
else if (mSpeedHistory.isEmpty())
|
|
||||||
// If no measurements since last average, return 0
|
|
||||||
return 0.0F;
|
|
||||||
else {
|
else {
|
||||||
mLastAverageSpeed = mSpeedHistory.stream().reduce(0.0F, Float::sum);
|
mLastAverageSpeed = mSpeedHistory.stream().reduce(0.0F, Float::sum);
|
||||||
mLastAverageSpeed /= mSpeedHistory.size();
|
mLastAverageSpeed /= mSpeedHistory.size();
|
||||||
|
|||||||
Reference in New Issue
Block a user