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) {
|
public boolean addTrackPoint(GPSCoordinate coordinate) {
|
||||||
Boolean added = System.currentTimeMillis() >= nextValidTime;
|
Boolean added = System.currentTimeMillis() >= nextValidTime;
|
||||||
|
long currentTime = System.currentTimeMillis();
|
||||||
if (added && this.started) {
|
if (added && this.started) {
|
||||||
nextValidTime = System.currentTimeMillis() + TRACK_POINT_TIME_INTERVAL;
|
nextValidTime = currentTime + TRACK_POINT_TIME_INTERVAL;
|
||||||
track.add(new TrackPoint(coordinate, System.currentTimeMillis(), TRACK_POINT_LIMIT*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;
|
return added;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,13 @@ public class TrackPoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public double getAlpha() {
|
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