From 11fb1080f2a895a387137a09b327b083f82d6885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phile=CC=81mon=20Merlet?= Date: Fri, 30 Aug 2019 14:59:32 +0200 Subject: [PATCH 1/5] [android] Call callback.onFinish() when camera is already at the correct position --- .../src/main/java/com/mapbox/mapboxsdk/maps/Transform.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java index 02cd05545d7..93dcf995b23 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java @@ -120,6 +120,8 @@ public void run() { } } }); + } else if(callback != null) { + callback.onFinish(); } } @@ -137,6 +139,8 @@ final void easeCamera(@NonNull MapboxMap mapboxMap, CameraUpdate update, int dur mapView.addOnCameraDidChangeListener(this); nativeMap.easeTo(cameraPosition.target, cameraPosition.zoom, cameraPosition.bearing, cameraPosition.tilt, cameraPosition.padding, durationMs, easingInterpolator); + } else if(callback != null) { + callback.onFinish(); } } @@ -157,6 +161,8 @@ public final void animateCamera(@NonNull MapboxMap mapboxMap, CameraUpdate updat mapView.addOnCameraDidChangeListener(this); nativeMap.flyTo(cameraPosition.target, cameraPosition.zoom, cameraPosition.bearing, cameraPosition.tilt, cameraPosition.padding, durationMs); + } else if(callback != null) { + callback.onFinish(); } } From 10ec3d34ce9c63a38116010ae7761c74d0521bbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phile=CC=81mon=20Merlet?= Date: Mon, 2 Sep 2019 14:05:24 +0200 Subject: [PATCH 2/5] Code review + add a test --- .../com/mapbox/mapboxsdk/maps/Transform.java | 6 +++--- .../com/mapbox/mapboxsdk/maps/TransformTest.kt | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java index 93dcf995b23..f785aacf3ce 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java @@ -120,7 +120,7 @@ public void run() { } } }); - } else if(callback != null) { + } else if (callback != null) { callback.onFinish(); } } @@ -139,7 +139,7 @@ final void easeCamera(@NonNull MapboxMap mapboxMap, CameraUpdate update, int dur mapView.addOnCameraDidChangeListener(this); nativeMap.easeTo(cameraPosition.target, cameraPosition.zoom, cameraPosition.bearing, cameraPosition.tilt, cameraPosition.padding, durationMs, easingInterpolator); - } else if(callback != null) { + } else if (callback != null) { callback.onFinish(); } } @@ -161,7 +161,7 @@ public final void animateCamera(@NonNull MapboxMap mapboxMap, CameraUpdate updat mapView.addOnCameraDidChangeListener(this); nativeMap.flyTo(cameraPosition.target, cameraPosition.zoom, cameraPosition.bearing, cameraPosition.tilt, cameraPosition.padding, durationMs); - } else if(callback != null) { + } else if (callback != null) { callback.onFinish(); } } diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt index 511101ecb20..8e7bb85c7ed 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt @@ -48,6 +48,24 @@ class TransformTest { verify { callback.onFinish() } } + @Test + fun testMoveCameraToSamePosition() { + val mapboxMap = mockk() + every { mapboxMap.cameraPosition } answers { CameraPosition.DEFAULT } + + val callback = mockk() + every { callback.onFinish() } answers {} + + val expected = CameraPosition.DEFAULT + val update = CameraUpdateFactory.newCameraPosition(expected) + + transform.moveCamera(mapboxMap, update, null) // Initialize camera position + transform.moveCamera(mapboxMap, update, callback) + + verify (exactly = 1, verifyBlock = { nativeMapView.jumpTo(any(), any(), any(), any(), any()) }) + verify { callback.onFinish() } + } + @Test fun testMinZoom() { transform.minZoom = 10.0 From 9e1b4976cd648136a6e0fd30c795475a261cc595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phile=CC=81mon=20Merlet?= Date: Mon, 2 Sep 2019 16:35:56 +0200 Subject: [PATCH 3/5] Add tests for easeCamera and animateCamera --- .../mapbox/mapboxsdk/maps/TransformTest.kt | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt index 8e7bb85c7ed..d671485b8aa 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt @@ -26,6 +26,7 @@ class TransformTest { every { nativeMapView.cameraPosition } returns CameraPosition.DEFAULT every { nativeMapView.cancelTransitions() } answers {} every { nativeMapView.jumpTo(any(), any(), any(), any(), any()) } answers {} + every { nativeMapView.easeTo(any(), any(), any(), any(), any(), any(), any()) } answers {} every { nativeMapView.flyTo(any(), any(), any(), any(), any(), any()) } answers {} every { nativeMapView.minZoom = any() } answers {} every { nativeMapView.maxZoom = any() } answers {} @@ -66,6 +67,84 @@ class TransformTest { verify { callback.onFinish() } } + @Test + fun testEaseCamera() { + val mapboxMap = mockk() + every { mapboxMap.cameraPosition } answers { CameraPosition.DEFAULT } + + every { mapView.addOnCameraDidChangeListener(any()) } answers { transform.onCameraDidChange(true) } + every { mapView.removeOnCameraDidChangeListener(any()) } answers {} + + val callback = mockk() + every { callback.onFinish() } answers {} + + val target = LatLng(1.0, 2.0) + val expected = CameraPosition.Builder().target(target).build() + val update = CameraUpdateFactory.newCameraPosition(expected) + + transform.easeCamera(mapboxMap, update, 100, false, callback) + + verify { nativeMapView.easeTo(target, -1.0, -1.0, -1.0, null, 100, false) } + verify { callback.onFinish() } + } + + @Test + fun testEaseCameraToSamePosition() { + val mapboxMap = mockk() + every { mapboxMap.cameraPosition } answers { CameraPosition.DEFAULT } + + val callback = mockk() + every { callback.onFinish() } answers {} + + val expected = CameraPosition.DEFAULT + val update = CameraUpdateFactory.newCameraPosition(expected) + transform.moveCamera(mapboxMap, update, null) + + transform.easeCamera(mapboxMap, update, 100, false, callback) + + verify (exactly=0, verifyBlock = { nativeMapView.easeTo(any(), any(), any(), any(), any(), any(), any()) }) + verify { callback.onFinish() } + } + + @Test + fun testAnimateCamera() { + val mapboxMap = mockk() + every { mapboxMap.cameraPosition } answers { CameraPosition.DEFAULT } + + every { mapView.addOnCameraDidChangeListener(any()) } answers { transform.onCameraDidChange(true) } + every { mapView.removeOnCameraDidChangeListener(any()) } answers {} + + val callback = mockk() + every { callback.onFinish() } answers {} + + val target = LatLng(1.0, 2.0) + val expected = CameraPosition.Builder().target(target).build() + val update = CameraUpdateFactory.newCameraPosition(expected) + + transform.animateCamera(mapboxMap, update, 100, callback) + + verify { nativeMapView.flyTo(target, -1.0, -1.0, -1.0, null, 100) } + verify { callback.onFinish() } + } + + @Test + fun testAnimateCameraToSamePosition() { + val mapboxMap = mockk() + every { mapboxMap.cameraPosition } answers { CameraPosition.DEFAULT } + + val callback = mockk() + every { callback.onFinish() } answers {} + + val expected = CameraPosition.DEFAULT + val update = CameraUpdateFactory.newCameraPosition(expected) + transform.moveCamera(mapboxMap, update, null) + + transform.animateCamera(mapboxMap, update, 100, callback) + + verify (exactly=0, verifyBlock = { nativeMapView.flyTo(any(), any(), any(), any(), any(), any()) }) + verify { callback.onFinish() } + } + @Test fun testMinZoom() { transform.minZoom = 10.0 From 0d738c733503a8b9bc6bb5632783cb023eb6520d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phile=CC=81mon=20Merlet?= Date: Mon, 2 Sep 2019 16:37:30 +0200 Subject: [PATCH 4/5] Fix formatting --- .../test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt index d671485b8aa..1abaa7802b1 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt @@ -74,7 +74,7 @@ class TransformTest { every { mapView.addOnCameraDidChangeListener(any()) } answers { transform.onCameraDidChange(true) } every { mapView.removeOnCameraDidChangeListener(any()) } answers {} - + val callback = mockk() every { callback.onFinish() } answers {} @@ -102,7 +102,7 @@ class TransformTest { transform.easeCamera(mapboxMap, update, 100, false, callback) - verify (exactly=0, verifyBlock = { nativeMapView.easeTo(any(), any(), any(), any(), any(), any(), any()) }) + verify (exactly = 0, verifyBlock = { nativeMapView.easeTo(any(), any(), any(), any(), any(), any(), any()) }) verify { callback.onFinish() } } @@ -141,7 +141,7 @@ class TransformTest { transform.animateCamera(mapboxMap, update, 100, callback) - verify (exactly=0, verifyBlock = { nativeMapView.flyTo(any(), any(), any(), any(), any(), any()) }) + verify (exactly = 0, verifyBlock = { nativeMapView.flyTo(any(), any(), any(), any(), any(), any()) }) verify { callback.onFinish() } } From 0d7df7c12764da56000b2d2f608078f12ea36266 Mon Sep 17 00:00:00 2001 From: tobrun Date: Wed, 4 Sep 2019 12:37:54 +0300 Subject: [PATCH 5/5] [android] fix ktlint errors --- .../test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt index 1abaa7802b1..fddf7eeaff1 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/TransformTest.kt @@ -63,7 +63,7 @@ class TransformTest { transform.moveCamera(mapboxMap, update, null) // Initialize camera position transform.moveCamera(mapboxMap, update, callback) - verify (exactly = 1, verifyBlock = { nativeMapView.jumpTo(any(), any(), any(), any(), any()) }) + verify(exactly = 1, verifyBlock = { nativeMapView.jumpTo(any(), any(), any(), any(), any()) }) verify { callback.onFinish() } } @@ -102,7 +102,7 @@ class TransformTest { transform.easeCamera(mapboxMap, update, 100, false, callback) - verify (exactly = 0, verifyBlock = { nativeMapView.easeTo(any(), any(), any(), any(), any(), any(), any()) }) + verify(exactly = 0, verifyBlock = { nativeMapView.easeTo(any(), any(), any(), any(), any(), any(), any()) }) verify { callback.onFinish() } } @@ -141,7 +141,7 @@ class TransformTest { transform.animateCamera(mapboxMap, update, 100, callback) - verify (exactly = 0, verifyBlock = { nativeMapView.flyTo(any(), any(), any(), any(), any(), any()) }) + verify(exactly = 0, verifyBlock = { nativeMapView.flyTo(any(), any(), any(), any(), any(), any()) }) verify { callback.onFinish() } }