Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit f7ee6646 authored by Marvin W.'s avatar Marvin W. 🐿️
Browse files

Maps: Handle camera position update without valid lat/lng

parent f8bbaf1f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -135,8 +135,8 @@ class ZoomByWithFocusCameraUpdate(private val delta: Float, private val x: Int,
class NewCameraPositionCameraUpdate(private val cameraPosition: CameraPosition) : LiteModeCameraUpdate, CameraUpdate {
    override fun getLiteModeCameraPosition(map: IGoogleMapDelegate): CameraPosition = this.cameraPosition

    override fun getCameraPosition(mapboxMap: MapboxMap): com.mapbox.mapboxsdk.camera.CameraPosition =
        this.cameraPosition.toMapbox()
    override fun getCameraPosition(mapboxMap: MapboxMap): com.mapbox.mapboxsdk.camera.CameraPosition? =
        this.cameraPosition.toMapbox().takeIf { it.target != null }
}

class NewLatLngCameraUpdate(private val latLng: LatLng) : LiteModeCameraUpdate, CameraUpdate {
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ fun GmsLatLngBounds.toMapbox(): LatLngBounds =

fun GmsCameraPosition.toMapbox(): CameraPosition =
        CameraPosition.Builder()
                .target(target.toMapbox())
                .target(target.takeIf { it.longitude.isFinite() && it.latitude.isFinite() }?.toMapbox())
                .zoom(zoom.toDouble() - 1.0)
                .tilt(tilt.toDouble())
                .bearing(bearing.toDouble())