Track point is now removed after its expiry and fades after the boat has stopped Story [758]

main
Joseph 9 years ago
parent 680c6fb991
commit 56d51ceaa9

@ -260,9 +260,13 @@ public class BoatInRace extends Boat {
public boolean addTrackPoint(GPSCoordinate coordinate) {
Boolean added = System.currentTimeMillis() >= nextValidTime;
long currentTime = System.currentTimeMillis();
if (added && this.started) {
nextValidTime = System.currentTimeMillis() + TRACK_POINT_TIME_INTERVAL;
track.add(new TrackPoint(coordinate, System.currentTimeMillis(), TRACK_POINT_LIMIT*TRACK_POINT_TIME_INTERVAL));
nextValidTime = currentTime + TRACK_POINT_TIME_INTERVAL;
track.add(new TrackPoint(coordinate, currentTime, TRACK_POINT_LIMIT * TRACK_POINT_TIME_INTERVAL));
}
if (track.size() > 0 && track.element().getTimeAdded() + TRACK_POINT_LIMIT * TRACK_POINT_TIME_INTERVAL <= currentTime) {
track.remove();
}
return added;
}

@ -23,6 +23,13 @@ public class TrackPoint {
}
public double getAlpha() {
return Double.max(minAlpha,1.0 - (double)(System.currentTimeMillis() - timeAdded)/expiry);
if (System.currentTimeMillis() >= timeAdded + expiry) {
return 0;
}
return Double.max(minAlpha,1.0 - (double)(System.currentTimeMillis() - timeAdded) / expiry);
}
public long getTimeAdded() {
return timeAdded;
}
}

Loading…
Cancel
Save