diff options
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCBase.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/Tile.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/Viewport.java | 14 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/geopoint/ViewportTest.java | 10 |
4 files changed, 17 insertions, 11 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCBase.java b/main/src/cgeo/geocaching/connector/gc/GCBase.java index f5d3ee5..dc95793 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCBase.java +++ b/main/src/cgeo/geocaching/connector/gc/GCBase.java @@ -185,7 +185,7 @@ public class GCBase { if (strategy.flags.contains(StrategyFlag.SEARCH_NEARBY)) { Geopoint center = viewport.getCenter(); - if ((lastSearchViewport == null) || !lastSearchViewport.isInViewport(center)) { + if ((lastSearchViewport == null) || !lastSearchViewport.contains(center)) { SearchResult search = cgBase.searchByCoords(null, center, Settings.getCacheType(), false); if (search != null && !search.isEmpty()) { diff --git a/main/src/cgeo/geocaching/connector/gc/Tile.java b/main/src/cgeo/geocaching/connector/gc/Tile.java index b639f03..272bf28 100644 --- a/main/src/cgeo/geocaching/connector/gc/Tile.java +++ b/main/src/cgeo/geocaching/connector/gc/Tile.java @@ -224,6 +224,6 @@ public class Tile { public boolean containsPoint(Geopoint coords) { - return viewPort.isInViewport(coords); + return viewPort.contains(coords); } } diff --git a/main/src/cgeo/geocaching/geopoint/Viewport.java b/main/src/cgeo/geocaching/geopoint/Viewport.java index 18c8342..478aa7b 100644 --- a/main/src/cgeo/geocaching/geopoint/Viewport.java +++ b/main/src/cgeo/geocaching/geopoint/Viewport.java @@ -59,8 +59,14 @@ public class Viewport { return getLongitudeMax() - getLongitudeMin(); } - public boolean isInViewport(final Geopoint coords) { - + /** + * Check whether a point is contained in this viewport. + * + * @param coords + * the coordinates to check + * @return true if the point is contained in this viewport, false otherwise + */ + public boolean contains(final Geopoint coords) { return coords.getLongitudeE6() >= bottomLeft.getLongitudeE6() && coords.getLongitudeE6() <= topRight.getLongitudeE6() && coords.getLatitudeE6() >= bottomLeft.getLatitudeE6() @@ -80,7 +86,7 @@ public class Viewport { * @return true if the vp is fully included into this one, false otherwise */ public boolean includes(final Viewport vp) { - return isInViewport(vp.bottomLeft) && isInViewport(vp.topRight); + return contains(vp.bottomLeft) && contains(vp.topRight); } /** @@ -103,7 +109,7 @@ public class Viewport { // when CGeoMap.java gets rewritten public static boolean isCacheInViewPort(int centerLat, int centerLon, int spanLat, int spanLon, final Geopoint coords) { final Viewport viewport = new Viewport(new Geopoint(centerLat / 1e6, centerLon / 1e6), spanLat / 1e6, spanLon / 1e6); - return viewport.isInViewport(coords); + return viewport.contains(coords); } /** diff --git a/tests/src/cgeo/geocaching/geopoint/ViewportTest.java b/tests/src/cgeo/geocaching/geopoint/ViewportTest.java index 1bcac5f..77b47e5 100644 --- a/tests/src/cgeo/geocaching/geopoint/ViewportTest.java +++ b/tests/src/cgeo/geocaching/geopoint/ViewportTest.java @@ -40,11 +40,11 @@ public class ViewportTest extends AndroidTestCase { } public static void testInViewport() { - assertFalse(vpRef.isInViewport(new Geopoint(-2.0, -2.0))); - assertFalse(vpRef.isInViewport(new Geopoint(4.0, 4.0))); - assertTrue(vpRef.isInViewport(new Geopoint(0.0, 0.0))); - assertTrue(vpRef.isInViewport(new Geopoint(-1.0, -2.0))); - assertTrue(vpRef.isInViewport(new Geopoint(3.0, 4.0))); + assertFalse(vpRef.contains(new Geopoint(-2.0, -2.0))); + assertFalse(vpRef.contains(new Geopoint(4.0, 4.0))); + assertTrue(vpRef.contains(new Geopoint(0.0, 0.0))); + assertTrue(vpRef.contains(new Geopoint(-1.0, -2.0))); + assertTrue(vpRef.contains(new Geopoint(3.0, 4.0))); } public static void testSqlWhere() { |
