summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2017-03-30 13:25:56 +0200
committerGitHub <noreply@github.com>2017-03-30 13:25:56 +0200
commita4959131b2cf5500a66c26ebd83ee3de44861feb (patch)
tree5344244f2731d9d5d0f9e3cdebb52e1be0a3cbcd /platform
parent152b48fd92f9c7c33b45b4b1974da43c55d35d42 (diff)
downloadqtlocation-mapboxgl-a4959131b2cf5500a66c26ebd83ee3de44861feb.tar.gz
[android] - transition options in milliseconds, added test cases, fixup test activity code (#8576)
Diffstat (limited to 'platform')
-rw-r--r--platform/android/CHANGELOG.md1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java16
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java32
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java4
-rwxr-xr-xplatform/android/src/native_map_view.cpp8
5 files changed, 47 insertions, 14 deletions
diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md
index ec0a5f1586..bc490fc7ab 100644
--- a/platform/android/CHANGELOG.md
+++ b/platform/android/CHANGELOG.md
@@ -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)
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index 6edae8b944..40585700d1 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -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);
}
/**
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
index 2cd077f510..c110935133 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
@@ -76,6 +76,38 @@ public class MapboxMapTest {
}
//
+ // 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
//
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
index af42b7a0fe..2fc0407c7f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
@@ -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)
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index dd4cadbcfb..d9c24ba0f8 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -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);
}