PathLayer: API enhancements for adding Collection of any GeoPoint extension (#211)

This commit is contained in:
pedrop 2016-10-31 15:26:59 +02:00 committed by Emux
parent 4b55043dcc
commit 422d81d665
2 changed files with 18 additions and 2 deletions

View File

@ -2,6 +2,7 @@
* Copyright 2012 osmdroid authors: Viesturs Zarins, Martin Pearman
* Copyright 2012 Hannes Janetzek
* Copyright 2016 devemux86
* Copyright 2016 Pedinel
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@ -27,6 +28,7 @@ import org.oscim.map.Map;
import org.oscim.utils.geom.GeomBuilder;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
@ -68,7 +70,7 @@ public class PathLayer extends VectorLayer {
updatePoints();
}
public void setPoints(List<GeoPoint> pts) {
public void setPoints(Collection<? extends GeoPoint> pts) {
mPoints.clear();
mPoints.addAll(pts);
updatePoints();
@ -84,6 +86,11 @@ public class PathLayer extends VectorLayer {
updatePoints();
}
public void addPoints(Collection<? extends GeoPoint> pts) {
mPoints.addAll(pts);
updatePoints();
}
private void updatePoints() {
synchronized (this) {

View File

@ -3,6 +3,7 @@
* Copyright 2012 Hannes Janetzek
* Copyright 2016 devemux86
* Copyright 2016 Bezzu
* Copyright 2016 Pedinel
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@ -36,6 +37,7 @@ import org.oscim.utils.async.SimpleWorker;
import org.oscim.utils.geom.LineClipper;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
@ -87,7 +89,7 @@ public class PathLayer extends Layer {
updatePoints();
}
public void setPoints(List<GeoPoint> pts) {
public void setPoints(Collection<? extends GeoPoint> pts) {
synchronized (mPoints) {
mPoints.clear();
mPoints.addAll(pts);
@ -109,6 +111,13 @@ public class PathLayer extends Layer {
updatePoints();
}
public void addPoints(Collection<? extends GeoPoint> pts) {
synchronized (mPoints) {
mPoints.addAll(pts);
}
updatePoints();
}
private void updatePoints() {
mWorker.submit(10);
mUpdatePoints = true;