summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCameron <cameron@mapbox.com>2016-07-11 10:48:47 -0400
committerTobrun Van Nuland <tobrun.van.nuland@gmail.com>2016-07-14 12:13:44 +0200
commit765e8d2be18411cc13438cb4c723b6a6658b8c10 (patch)
treec828700bf74fae36213efb787a6136cdf5f979f8
parentfd5ee4050670672e75acaaec5ce97877d89ee1e6 (diff)
downloadqtlocation-mapboxgl-765e8d2be18411cc13438cb4c723b6a6658b8c10.tar.gz
[android] latlngbounds includes added in builder
Fixes #5574 added includes test
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java7
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java10
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java21
3 files changed, 36 insertions, 2 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java
index 5251ab4d6d..2fd28202af 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java
@@ -290,6 +290,13 @@ public class LatLngBounds implements Parcelable {
return LatLngBounds.fromLatLngs(mLatLngList);
}
+ public Builder includes(List<LatLng> latLngs){
+ for (LatLng point : latLngs) {
+ mLatLngList.add(point);
+ }
+ return this;
+ }
+
public Builder include(@NonNull LatLng latLng) {
mLatLngList.add(latLng);
return this;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java
index bc7ef3c596..3ab8f7e763 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java
@@ -20,6 +20,9 @@ import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.maps.UiSettings;
import com.mapbox.mapboxsdk.testapp.R;
+import java.util.ArrayList;
+import java.util.List;
+
public class LatLngBoundsActivity extends AppCompatActivity {
private static final LatLng LOS_ANGELES = new LatLng(34.053940, -118.242622);
@@ -61,10 +64,13 @@ public class LatLngBoundsActivity extends AppCompatActivity {
.snippet("City Hall")
.position(NEW_YORK));
+ List<LatLng> points = new ArrayList<>();
+ points.add(NEW_YORK);
+ points.add(LOS_ANGELES);
+
// Create Bounds
final LatLngBounds bounds = new LatLngBounds.Builder()
- .include(NEW_YORK)
- .include(LOS_ANGELES)
+ .includes(points)
.build();
// Add map padding
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
index b667940a6f..b2cc1e9046 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
@@ -8,6 +8,9 @@ import com.mapbox.mapboxsdk.utils.MockParcel;
import org.junit.Before;
import org.junit.Test;
+import java.util.ArrayList;
+import java.util.List;
+
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -106,6 +109,24 @@ public class LatLngBoundsTest {
}
@Test
+ public void testIncludes() {
+ List<LatLng> points = new ArrayList<>();
+ points.add(LAT_LNG_NULL_ISLAND);
+ points.add(LAT_LNG_NOT_NULL_ISLAND);
+
+ LatLngBounds latLngBounds1 = new LatLngBounds.Builder()
+ .includes(points)
+ .build();
+
+ LatLngBounds latLngBounds2 = new LatLngBounds.Builder()
+ .include(LAT_LNG_NULL_ISLAND)
+ .include(LAT_LNG_NOT_NULL_ISLAND)
+ .build();
+
+ assertEquals("LatLngBounds should match", latLngBounds1, latLngBounds2);
+ }
+
+ @Test
public void testNoIncluding() {
assertFalse("LatLng should not be included", mLatLngBounds.contains(new LatLng(3, 1)));
}