From 185f21a4689f4a0e71b624562df0d8d0ce12f40f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Paczos?= Date: Wed, 21 Aug 2019 13:13:32 +0200 Subject: Revert "[android] invalidate camera when setting a padding" This reverts commit 8fbe63b5 --- .../mapboxsdk/maps/MapboxMapInstrumentationTest.kt | 41 -------------- .../com/mapbox/mapboxsdk/maps/VisibleRegionTest.kt | 64 ++++++++-------------- platform/android/src/native_map_view.cpp | 2 - 3 files changed, 22 insertions(+), 85 deletions(-) delete mode 100644 platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapInstrumentationTest.kt diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapInstrumentationTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapInstrumentationTest.kt deleted file mode 100644 index e93f54161e..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapInstrumentationTest.kt +++ /dev/null @@ -1,41 +0,0 @@ -package com.mapbox.mapboxsdk.maps - -import android.graphics.PointF -import android.support.test.runner.AndroidJUnit4 -import com.mapbox.mapboxsdk.camera.CameraUpdateFactory -import com.mapbox.mapboxsdk.geometry.LatLng -import com.mapbox.mapboxsdk.testapp.activity.BaseTest -import com.mapbox.mapboxsdk.testapp.activity.espresso.DeviceIndependentTestActivity -import org.junit.Assert.assertArrayEquals -import org.junit.Assert.assertEquals -import org.junit.Test -import org.junit.runner.RunWith - -@RunWith(AndroidJUnit4::class) -class MapboxMapInstrumentationTest : BaseTest() { - - override fun getActivityClass(): Class<*> { - return DeviceIndependentTestActivity::class.java - } - - @Test - fun setPadding_cameraInvalidated() { - rule.runOnUiThread { - mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(LatLng(0.0, 0.0), 10.0)) - val initialCameraPosition = mapboxMap.cameraPosition - val initialPoint = mapboxMap.projection.toScreenLocation(initialCameraPosition.target) - - val bottomPadding = mapView.height / 4 - val leftPadding = mapView.width / 4 - mapboxMap.setPadding(leftPadding, 0, 0, bottomPadding) - - val resultingCameraPosition = mapboxMap.cameraPosition - assertArrayEquals(intArrayOf(leftPadding, 0, 0, bottomPadding), mapboxMap.padding) - assertEquals(initialCameraPosition, resultingCameraPosition) - assertEquals( - PointF(initialPoint.x + leftPadding / 2, initialPoint.y - bottomPadding / 2), - mapboxMap.projection.toScreenLocation(resultingCameraPosition.target) - ) - } - } -} \ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/VisibleRegionTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/VisibleRegionTest.kt index 14722ea37c..12dff5d452 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/VisibleRegionTest.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/VisibleRegionTest.kt @@ -7,7 +7,8 @@ import com.mapbox.mapboxsdk.geometry.LatLng import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke import com.mapbox.mapboxsdk.testapp.activity.BaseTest import com.mapbox.mapboxsdk.testapp.activity.espresso.PixelTestActivity -import org.junit.Assert.* +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Test class VisibleRegionTest : BaseTest() { @@ -68,7 +69,7 @@ class VisibleRegionTest : BaseTest() { val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(1, filtered.size) + assertTrue(filtered.size == 1) assertTrue(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f))) } } @@ -87,18 +88,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 4f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width * 3f / 4f, 0f) + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(mapView.width / 4, 0, 0, 0) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) - val filtered = latLngs.filter { - visibleRegion.latLngBounds.contains(it) - } - assertEquals(5, filtered.size) + val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f))) } } @@ -117,16 +114,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 4f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height * 3f / 4f) + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(0, mapView.height / 4, 0, 0) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, 0f))) } } @@ -145,16 +140,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 4f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width * 3f / 4f, 0f) + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(0, 0, mapView.width / 4, 0) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width.toFloat(), mapView.height / 2f))) } } @@ -173,16 +166,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 4f), - mapboxMap.getLatLngFromScreenCoords(0f, mapView.height * 3f / 4f) + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(0, 0, 0, mapView.height / 4) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()))) } } @@ -236,7 +227,7 @@ class VisibleRegionTest : BaseTest() { val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(1, filtered.size) + assertTrue(filtered.size == 1) assertTrue(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f))) } } @@ -258,17 +249,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 4f, 0f), - mapboxMap.getLatLngFromScreenCoords(mapView.width * 3f / 4f, mapView.height / 2f) - .also { it.longitude += 360 } + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(mapView.width / 4, 0, 0, 0) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f))) } } @@ -278,6 +266,7 @@ class VisibleRegionTest : BaseTest() { validateTestSetup() invoke(mapboxMap) { ui: UiController, mapboxMap: MapboxMap -> mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(LatLng(0.0, 180.0), 8.0)) + ui.loopMainThreadForAtLeast(5000) val latLngs = listOf( mapboxMap.getLatLngFromScreenCoords(0f, 0f), mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, 0f), @@ -290,17 +279,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 4f), - mapboxMap.getLatLngFromScreenCoords(mapView.width.toFloat(), mapView.height * 3f / 4f) - .also { it.longitude += 360 } + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(0, mapView.height / 4, 0, 0) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, 0f))) } } @@ -322,17 +308,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 4f, 0f), - mapboxMap.getLatLngFromScreenCoords(mapView.width * 3f / 4f, mapView.height / 2f) - .also { it.longitude += 360 } + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(0, 0, mapView.width / 4, 0) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width.toFloat(), mapView.height / 2f))) } } @@ -354,17 +337,14 @@ class VisibleRegionTest : BaseTest() { mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height.toFloat()), mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f), - mapboxMap.getLatLngFromScreenCoords(0f, mapView.height / 4f), - mapboxMap.getLatLngFromScreenCoords(mapView.width.toFloat(), mapView.height * 3f / 4f) - .also { it.longitude += 360 } + mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height / 2f) ) mapboxMap.setPadding(0, 0, 0, mapView.height / 4) val visibleRegion = mapboxMap.projection.getVisibleRegion(false) val filtered = latLngs.filter { visibleRegion.latLngBounds.contains(it) } - assertEquals(5, filtered.size) + assertTrue(filtered.size == 6) assertFalse(filtered.contains(mapboxMap.getLatLngFromScreenCoords(mapView.width / 2f, mapView.height.toFloat()))) } } diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index 47f2c6d9aa..48b65c4c02 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -516,8 +516,6 @@ void NativeMapView::setVisibleCoordinateBounds(JNIEnv& env, const jni::ArrayjumpTo(map->getCameraOptions(insets)); } jni::Local> NativeMapView::getContentPadding(JNIEnv& env) { -- cgit v1.2.1