summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2018-04-25 12:41:11 +0200
committerŁukasz Paczos <lukas.paczos@gmail.com>2018-04-25 12:41:11 +0200
commit3428a5379ea899c8bfcc7ec9e048cb7ee8c3e621 (patch)
treea9d068f4347b4be0cffc5709b610f7839989975c
parenteb39c80604935deb666907f90ddc31f50865f828 (diff)
downloadqtlocation-mapboxgl-3428a5379ea899c8bfcc7ec9e048cb7ee8c3e621.tar.gz
[android] - setup for performance testing, animation test
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/PerformanceTest.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/PerformanceTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/PerformanceTest.java
new file mode 100644
index 0000000000..59f6b5ae0e
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/PerformanceTest.java
@@ -0,0 +1,82 @@
+package com.mapbox.mapboxsdk.maps;
+
+import android.support.test.espresso.UiController;
+
+import com.mapbox.mapboxsdk.camera.CameraPosition;
+import com.mapbox.mapboxsdk.camera.CameraUpdate;
+import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
+import com.mapbox.mapboxsdk.geometry.LatLng;
+import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
+import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
+
+import org.junit.Test;
+
+import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
+
+public class PerformanceTest extends BaseActivityTest {
+
+ private static final long ANIMATION_DELAY = 250;
+
+ private final CameraAnimation[] cameraAnimations = new CameraAnimation[3];
+ private int currentIndex = 0;
+
+ private UiController uiController;
+
+ @Override
+ protected Class getActivityClass() {
+ return EspressoTestActivity.class;
+ }
+
+ @Test
+ public void runPerformanceTest() {
+ validateTestSetup();
+ invoke(mapboxMap, (uiController, mapboxMap) -> {
+ this.uiController = uiController;
+ fillCameraPositions();
+ startAnimations();
+ });
+ }
+
+ private void fillCameraPositions() {
+ cameraAnimations[0] = new CameraAnimation(
+ CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder()
+ .target(new LatLng(37.789992, -122.402214))
+ .zoom(3)
+ .build()), 2000);
+
+ cameraAnimations[1] = new CameraAnimation(
+ CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder()
+ .target(new LatLng(37.789992, -122.402214))
+ .tilt(60)
+ .zoom(17f)
+ .bearing(135)
+ .build()), 6000);
+
+ cameraAnimations[2] = new CameraAnimation(
+ CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder()
+ .target(new LatLng(37.755659, -122.445668))
+ .tilt(0)
+ .zoom(11f)
+ .bearing(0)
+ .build()), 1000);
+ }
+
+ private void startAnimations() {
+ for (CameraAnimation cameraAnimation : cameraAnimations) {
+ uiController.loopMainThreadForAtLeast(ANIMATION_DELAY);
+ mapboxMap.animateCamera(cameraAnimation.cameraUpdate, (int) cameraAnimation.animationDuration);
+ uiController.loopMainThreadForAtLeast(cameraAnimation.animationDuration);
+ }
+ uiController.loopMainThreadForAtLeast(ANIMATION_DELAY);
+ }
+
+ private static class CameraAnimation {
+ private CameraUpdate cameraUpdate;
+ private long animationDuration;
+
+ public CameraAnimation(CameraUpdate cameraUpdate, long animationDuration) {
+ this.cameraUpdate = cameraUpdate;
+ this.animationDuration = animationDuration;
+ }
+ }
+} \ No newline at end of file