[android] - transition options in milliseconds, added test cases, fixup test activity code (#8576)

This commit is contained in:
Tobrun
2017-03-30 13:25:56 +02:00
committed by GitHub
parent 152b48fd92
commit a4959131b2
5 changed files with 47 additions and 14 deletions

View File

@@ -6,6 +6,7 @@ Mapbox welcomes participation and contributions from everyone. If you'd like to
5.1.0 builds further on 5.0.1 and adds:
* Style wide transition duration and transition offset in milliseconds [#8576](https://github.com/mapbox/mapbox-gl-native/pull/8576)
* LatLngBounds includes with another bounds [#8517](https://github.com/mapbox/mapbox-gl-native/pull/8517)
* LatLngBounds includes takes in account LatLng on the edges (cfr. core) [#8517](https://github.com/mapbox/mapbox-gl-native/pull/8517)
* LatLngBounds facility getters/setters for LatLnbg on the edges of the bounds [#8517](https://github.com/mapbox/mapbox-gl-native/pull/8517)

View File

@@ -194,7 +194,7 @@ public final class MapboxMap {
* </p>
* The default value is zero, so any changes take effect without animation.
*
* @return Duration in seconds
* @return Duration in milliseconds
*/
@UiThread
public long getTransitionDuration() {
@@ -204,11 +204,11 @@ public final class MapboxMap {
/**
* Set the animation duration for style changes.
*
* @param duration Duration in seconds
* @param durationMs Duration in milliseconds
*/
@UiThread
public void setTransitionDuration(long duration) {
nativeMapView.setTransitionDuration(duration);
public void setTransitionDuration(long durationMs) {
nativeMapView.setTransitionDuration(durationMs);
}
/**
@@ -217,7 +217,7 @@ public final class MapboxMap {
* </p>
* The default value is zero, so any changes begin to animate immediately.
*
* @return Delay in seconds
* @return Delay in milliseconds
*/
@UiThread
public long getTransitionDelay() {
@@ -227,11 +227,11 @@ public final class MapboxMap {
/**
* Set the animation delay for style changes.
*
* @param delay Delay in seconds
* @param delayMs Delay in milliseconds
*/
@UiThread
public void setTransitionDelay(long delay) {
nativeMapView.setTransitionDelay(delay);
public void setTransitionDelay(long delayMs) {
nativeMapView.setTransitionDelay(delayMs);
}
/**

View File

@@ -75,6 +75,38 @@ public class MapboxMapTest {
assertNotNull("mapboxMap should not be null", mapboxMap);
}
//
// Style wide transition options
//
@Test
public void testTransitionDuration() {
ViewUtils.checkViewIsDisplayed(R.id.mapView);
final MapboxMap mapboxMap = activity.getMapboxMap();
onView(withId(R.id.mapView)).perform(new MapboxMapAction(new InvokeViewAction() {
@Override
public void onViewAction(UiController uiController, View view) {
long transitionDuration = 600;
mapboxMap.setTransitionDuration(transitionDuration);
assertEquals("TransitionDuration should match", transitionDuration, mapboxMap.getTransitionDuration(), 0);
}
}));
}
@Test
public void testTransitionDelay() {
ViewUtils.checkViewIsDisplayed(R.id.mapView);
final MapboxMap mapboxMap = activity.getMapboxMap();
onView(withId(R.id.mapView)).perform(new MapboxMapAction(new InvokeViewAction() {
@Override
public void onViewAction(UiController uiController, View view) {
long transitionDelay = 50;
mapboxMap.setTransitionDelay(transitionDelay);
assertEquals("TransitionDelay should match", transitionDelay, mapboxMap.getTransitionDelay(), 0);
}
}));
}
//
// MinZoomLevel
//

View File

@@ -259,8 +259,8 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private void setWaterColor() {
Layer water = mapboxMap.getLayer("water");
if (water != null) {
mapboxMap.setTransitionDuration(5);
mapboxMap.setTransitionDelay(1);
mapboxMap.setTransitionDuration(5000);
mapboxMap.setTransitionDelay(1000);
water.setProperties(
visibility(VISIBLE),
fillColor(Color.RED)

View File

@@ -752,23 +752,23 @@ jdouble NativeMapView::getTopOffsetPixelsForAnnotationSymbol(JNIEnv& env, jni::S
jlong NativeMapView::getTransitionDuration(JNIEnv&) {
const auto transitionOptions = map->getTransitionOptions();
return transitionOptions.duration.value_or(mbgl::Duration::zero()).count();
return std::chrono::duration_cast<std::chrono::milliseconds>(transitionOptions.duration.value_or(mbgl::Duration::zero())).count();
}
void NativeMapView::setTransitionDuration(JNIEnv&, jlong duration) {
auto transitionOptions = map->getTransitionOptions();
transitionOptions.duration = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(duration));
transitionOptions.duration.emplace(mbgl::Milliseconds(duration));
map->setTransitionOptions(transitionOptions);
}
jlong NativeMapView::getTransitionDelay(JNIEnv&) {
const auto transitionOptions = map->getTransitionOptions();
return transitionOptions.delay.value_or(mbgl::Duration::zero()).count();
return std::chrono::duration_cast<std::chrono::milliseconds>(transitionOptions.delay.value_or(mbgl::Duration::zero())).count();
}
void NativeMapView::setTransitionDelay(JNIEnv&, jlong delay) {
auto transitionOptions = map->getTransitionOptions();
transitionOptions.delay = std::chrono::duration_cast<mbgl::Duration>(std::chrono::duration<jlong>(delay));
transitionOptions.delay.emplace(mbgl::Milliseconds(delay));
map->setTransitionOptions(transitionOptions);
}