6453 restore tilt after orientation (#6491)

* [android] - correct tilt value when restoring activity or creating from xml

* correct values requesting camera position adhoc

* updated logic change in unit tests
This commit is contained in:
Tobrun
2016-09-29 11:41:08 +02:00
committed by GitHub
parent 1777b8757a
commit c97a1047df
6 changed files with 16 additions and 99 deletions

View File

@@ -5,7 +5,6 @@ import android.os.Parcelable;
import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.constants.MathConstants;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.MathUtils;
import com.mapbox.mapboxsdk.utils.MockParcel;
@@ -59,7 +58,7 @@ public class CameraPositionTest {
CameraPosition cameraPosition = new CameraPosition.Builder(typedArray).build();
assertEquals("bearing should match", bearing, cameraPosition.bearing, DELTA);
assertEquals("latlng should match", new LatLng(latitude, longitude), cameraPosition.target);
assertEquals("tilt should match", tilt, cameraPosition.tilt, DELTA);
assertEquals("tilt should match", Math.toRadians(tilt), cameraPosition.tilt, DELTA);
assertEquals("zoom should match", zoom, cameraPosition.zoom, DELTA);
}
@@ -75,7 +74,7 @@ public class CameraPositionTest {
CameraPosition cameraPosition = new CameraPosition.Builder(cameraVars).build();
assertEquals("bearing should match", bearing, cameraPosition.bearing, DELTA);
assertEquals("latlng should match", new LatLng(latitude, longitude), cameraPosition.target);
assertEquals("tilt should match", tilt, cameraPosition.tilt, DELTA);
assertEquals("tilt should match", Math.toRadians(tilt), cameraPosition.tilt, DELTA);
assertEquals("zoom should match", zoom, cameraPosition.zoom, DELTA);
}
@@ -93,40 +92,6 @@ public class CameraPositionTest {
assertEquals("hashCode should match", -1007681505, cameraPosition.hashCode());
}
@Test
public void testRadianBuilder() {
LatLng latLng = new LatLng(1, 2);
CameraPosition.Builder builder = new CameraPosition.Builder(true);
builder.target(latLng);
builder.zoom(3);
builder.tilt(4);
builder.bearing(5);
CameraPosition cameraPosition = new CameraPosition(latLng, 3, 4, 5);
assertEquals("CameraPosition should match", cameraPosition, builder.build());
}
@Test
public void testDegreesRadianBuilder() {
LatLng latLng = new LatLng(1, 2);
float tilt = 4;
float bearing = 5;
float bearingRadian = (float) (-bearing * MathConstants.DEG2RAD);
float tiltRadian = (float) (MathUtils.clamp(tilt, MapboxConstants.MINIMUM_TILT, MapboxConstants.MAXIMUM_TILT) * MathConstants.DEG2RAD);
CameraPosition.Builder degreeBuilder = new CameraPosition.Builder(false);
degreeBuilder.target(latLng);
degreeBuilder.zoom(3);
degreeBuilder.tilt(tilt);
degreeBuilder.bearing(bearing);
CameraPosition.Builder radianBuilder = new CameraPosition.Builder(true);
radianBuilder.target(latLng);
radianBuilder.zoom(3);
radianBuilder.tilt(tiltRadian);
radianBuilder.bearing(bearingRadian);
assertEquals("CameraPosition should match", radianBuilder.build(), degreeBuilder.build());
}
@Test
public void testZoomUpdateBuilder() {
float zoomLevel = 5;