Track point is now removed after its expiry and fades after the boat has stopped Story [758]
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user