From 3d908eedd6f2a715714107783cb245c7f0d95b9f Mon Sep 17 00:00:00 2001 From: alejandrocalles Date: Mon, 6 May 2024 22:41:58 +0200 Subject: [PATCH] Downgrade MapLibre to version `10.2.0`. This was made for compatibility with `ramani-maps`. Changes were mostly changes to imports. --- app/build.gradle.kts | 1 + .../compose/map/MapLibreMapViewProvider.kt | 30 +++++++++---------- .../github/swent/echo/data/SampleEvents.kt | 2 +- .../github/swent/echo/data/model/Location.kt | 2 +- .../map/MapLibreMapViewProviderTest.kt | 2 +- gradle/libs.versions.toml | 7 ++++- 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 164ccb87d..cb5c74178 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -108,6 +108,7 @@ dependencies { // Map Libre implementation(libs.android.sdk) + implementation(libs.ramani.maplibre) // Hilt implementation(libs.hilt.android) diff --git a/app/src/main/java/com/github/swent/echo/compose/map/MapLibreMapViewProvider.kt b/app/src/main/java/com/github/swent/echo/compose/map/MapLibreMapViewProvider.kt index b53f3399f..e6d593131 100644 --- a/app/src/main/java/com/github/swent/echo/compose/map/MapLibreMapViewProvider.kt +++ b/app/src/main/java/com/github/swent/echo/compose/map/MapLibreMapViewProvider.kt @@ -4,18 +4,18 @@ import android.annotation.SuppressLint import android.content.Context import com.github.swent.echo.R import com.github.swent.echo.data.model.Event -import org.maplibre.android.MapLibre -import org.maplibre.android.annotations.MarkerOptions -import org.maplibre.android.camera.CameraPosition -import org.maplibre.android.geometry.LatLng -import org.maplibre.android.location.LocationComponent -import org.maplibre.android.location.LocationComponentActivationOptions -import org.maplibre.android.location.LocationComponentOptions -import org.maplibre.android.location.engine.LocationEngineRequest -import org.maplibre.android.location.modes.CameraMode -import org.maplibre.android.maps.MapLibreMap -import org.maplibre.android.maps.MapView -import org.maplibre.android.maps.Style +import com.mapbox.mapboxsdk.Mapbox +import com.mapbox.mapboxsdk.annotations.MarkerOptions +import com.mapbox.mapboxsdk.camera.CameraPosition +import com.mapbox.mapboxsdk.geometry.LatLng +import com.mapbox.mapboxsdk.location.LocationComponent +import com.mapbox.mapboxsdk.location.LocationComponentActivationOptions +import com.mapbox.mapboxsdk.location.LocationComponentOptions +import com.mapbox.mapboxsdk.location.engine.LocationEngineRequest +import com.mapbox.mapboxsdk.location.modes.CameraMode +import com.mapbox.mapboxsdk.maps.MapView +import com.mapbox.mapboxsdk.maps.MapboxMap +import com.mapbox.mapboxsdk.maps.Style class MapLibreMapViewProvider : IMapViewProvider { @@ -23,7 +23,7 @@ class MapLibreMapViewProvider : IMapViewProvider { private var locationComponent: LocationComponent? = null private var firstRecenter = true - private fun redrawMarkers(map: MapLibreMap, events: List, callback: (Event) -> Unit) { + private fun redrawMarkers(map: MapboxMap, events: List, callback: (Event) -> Unit) { map.markers.forEach { map.removeMarker(it) } events.forEach { val markerBuilder = MarkerOptions().setPosition(it.location.toLatLng()).title(it.title) @@ -37,7 +37,7 @@ class MapLibreMapViewProvider : IMapViewProvider { } @SuppressLint("MissingPermission") - private fun displayLocation(context: Context, map: MapLibreMap, style: Style) { + private fun displayLocation(context: Context, map: MapboxMap, style: Style) { locationComponent = map.locationComponent val locationComponentOptions = LocationComponentOptions.builder(context).pulseEnabled(true).build() @@ -66,7 +66,7 @@ class MapLibreMapViewProvider : IMapViewProvider { } override fun factory(context: Context, withLocation: Boolean, onCreate: () -> Unit): MapView { - MapLibre.getInstance(context) + Mapbox.getInstance(context) val styleUrl = context.getString(R.string.maptiler_base_style_url) + context.getString(R.string.maptiler_api_key) diff --git a/app/src/main/java/com/github/swent/echo/data/SampleEvents.kt b/app/src/main/java/com/github/swent/echo/data/SampleEvents.kt index d948a3b76..cc8820836 100644 --- a/app/src/main/java/com/github/swent/echo/data/SampleEvents.kt +++ b/app/src/main/java/com/github/swent/echo/data/SampleEvents.kt @@ -6,11 +6,11 @@ import com.github.swent.echo.data.model.Event import com.github.swent.echo.data.model.EventCreator import com.github.swent.echo.data.model.Location import com.github.swent.echo.data.model.Tag +import com.mapbox.mapboxsdk.geometry.LatLng import java.time.ZonedDateTime import kotlin.math.PI import kotlin.math.cos import kotlin.math.sin -import org.maplibre.android.geometry.LatLng // This should come from the repository diff --git a/app/src/main/java/com/github/swent/echo/data/model/Location.kt b/app/src/main/java/com/github/swent/echo/data/model/Location.kt index b5a2e2e17..9b832c879 100644 --- a/app/src/main/java/com/github/swent/echo/data/model/Location.kt +++ b/app/src/main/java/com/github/swent/echo/data/model/Location.kt @@ -1,7 +1,7 @@ package com.github.swent.echo.data.model +import com.mapbox.mapboxsdk.geometry.LatLng import kotlinx.serialization.Serializable -import org.maplibre.android.geometry.LatLng @Serializable data class Location(val name: String, val lat: Double, val long: Double) { diff --git a/app/src/test/java/com/github/swent/echo/compose/map/MapLibreMapViewProviderTest.kt b/app/src/test/java/com/github/swent/echo/compose/map/MapLibreMapViewProviderTest.kt index 4b2dcbd50..bec8f9fed 100644 --- a/app/src/test/java/com/github/swent/echo/compose/map/MapLibreMapViewProviderTest.kt +++ b/app/src/test/java/com/github/swent/echo/compose/map/MapLibreMapViewProviderTest.kt @@ -1,11 +1,11 @@ package com.github.swent.echo.compose.map +import com.mapbox.mapboxsdk.maps.MapView import io.mockk.every import io.mockk.mockk import io.mockk.verify import org.junit.Before import org.junit.Test -import org.maplibre.android.maps.MapView class MapLibreMapViewProviderTest { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 818b04b0f..8ddf2da05 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,9 +3,13 @@ agp = "8.3.1" credentials = "1.2.2" googleid = "1.1.0" hiltNavigationCompose = "1.2.0" -androidSdk = "11.0.0-pre6" +##################### +# Do not upgrade +androidSdk = "10.2.0" +##################### kotlinxSerializationJson = "1.6.3" ktorClientAndroid = "2.3.9" +ramaniMaplibre = "0.3.0" robolectric = "4.12" roomRuntime = "2.6.1" slf4jSimple = "1.7.36" @@ -42,6 +46,7 @@ hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", vers kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } ktor-client-android = { module = "io.ktor:ktor-client-android", version.ref = "ktorClientAndroid" } mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockk" } +ramani-maplibre = { module = "org.ramani-maps:ramani-maplibre", version.ref = "ramaniMaplibre" } robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" } slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4jSimple" } supabase-bom = { module = "io.github.jan-tennert.supabase:bom", version.ref = "supabase" }