From 91f28f1639b6b2e382f68fbd651cd24b8255d3a6 Mon Sep 17 00:00:00 2001
From: Guillaume Jacquart <guillaume.jacquart@hoodbrains.com>
Date: Tue, 2 May 2023 07:44:38 +0200
Subject: 1167: replace Mapbox with maplibre 10.0.2

---
 app/build.gradle                                     |  2 +-
 .../e/privacycentralapp/PrivacyCentralApplication.kt |  2 --
 .../features/location/FakeLocationFragment.kt        | 20 ++++++++++----------
 app/src/main/res/layout/fragment_fake_location.xml   |  3 +--
 4 files changed, 12 insertions(+), 15 deletions(-)

(limited to 'app')

diff --git a/app/build.gradle b/app/build.gradle
index 17688ab..5f3009a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -150,7 +150,7 @@ dependencies {
         Libs.Retrofit.retrofit,
         Libs.Retrofit.scalars,
 
-        Libs.MapBox.sdk,
+        Libs.maplibre,
         Libs.mpAndroidCharts,
 
         Libs.telemetry,
diff --git a/app/src/main/java/foundation/e/privacycentralapp/PrivacyCentralApplication.kt b/app/src/main/java/foundation/e/privacycentralapp/PrivacyCentralApplication.kt
index 2f718b5..83ad3bf 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/PrivacyCentralApplication.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/PrivacyCentralApplication.kt
@@ -18,7 +18,6 @@
 package foundation.e.privacycentralapp
 
 import android.app.Application
-import com.mapbox.mapboxsdk.Mapbox
 import foundation.e.lib.telemetry.Telemetry
 
 class PrivacyCentralApplication : Application() {
@@ -29,7 +28,6 @@ class PrivacyCentralApplication : Application() {
     override fun onCreate() {
         super.onCreate()
         Telemetry.init(BuildConfig.SENTRY_DSN, this, true)
-        Mapbox.getTelemetry()?.setUserTelemetryRequestState(false)
 
         dependencyContainer.initBackgroundSingletons()
     }
diff --git a/app/src/main/java/foundation/e/privacycentralapp/features/location/FakeLocationFragment.kt b/app/src/main/java/foundation/e/privacycentralapp/features/location/FakeLocationFragment.kt
index 9e3f854..faa526b 100644
--- a/app/src/main/java/foundation/e/privacycentralapp/features/location/FakeLocationFragment.kt
+++ b/app/src/main/java/foundation/e/privacycentralapp/features/location/FakeLocationFragment.kt
@@ -38,11 +38,12 @@ import com.google.android.material.textfield.TextInputLayout
 import com.google.android.material.textfield.TextInputLayout.END_ICON_CUSTOM
 import com.google.android.material.textfield.TextInputLayout.END_ICON_NONE
 import com.mapbox.mapboxsdk.Mapbox
+import com.mapbox.mapboxsdk.WellKnownTileServer
+import com.mapbox.mapboxsdk.camera.CameraPosition
 import com.mapbox.mapboxsdk.camera.CameraUpdateFactory
 import com.mapbox.mapboxsdk.geometry.LatLng
 import com.mapbox.mapboxsdk.location.LocationComponent
 import com.mapbox.mapboxsdk.location.LocationComponentActivationOptions
-import com.mapbox.mapboxsdk.location.LocationUpdate
 import com.mapbox.mapboxsdk.location.modes.CameraMode
 import com.mapbox.mapboxsdk.location.modes.RenderMode
 import com.mapbox.mapboxsdk.maps.MapboxMap
@@ -91,11 +92,12 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
 
     companion object {
         private const val DEBOUNCE_PERIOD = 1000L
+        private const val MAP_STYLE = "mapbox://styles/mapbox/outdoors-v12"
     }
 
     override fun onAttach(context: Context) {
         super.onAttach(context)
-        Mapbox.getInstance(requireContext(), getString(R.string.mapbox_key))
+        Mapbox.getInstance(requireContext(), getString(R.string.mapbox_key), WellKnownTileServer.Mapbox)
     }
 
     override fun getTitle(): String = getString(R.string.location_title)
@@ -112,12 +114,11 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
         binding.mapView.setup(savedInstanceState) { mapboxMap ->
             this.mapboxMap = mapboxMap
             mapboxMap.uiSettings.isRotateGesturesEnabled = false
-            mapboxMap.setStyle(Style.MAPBOX_STREETS) { style ->
+            mapboxMap.setStyle(MAP_STYLE) { style ->
                 enableLocationPlugin(style)
-
                 mapboxMap.addOnCameraMoveListener {
                     if (binding.mapView.isEnabled) {
-                        mapboxMap.cameraPosition.target.let {
+                        mapboxMap.cameraPosition.target?.let {
                             viewModel.submitAction(
                                 Action.SetSpecificLocationAction(
                                     it.latitude.toFloat(),
@@ -127,6 +128,9 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
                         }
                     }
                 }
+
+                mapboxMap.cameraPosition = CameraPosition.Builder().zoom(8.0).build()
+
                 // Bind click listeners once map is ready.
                 bindClickListeners()
 
@@ -294,11 +298,7 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
     private fun updateLocation(lastLocation: Location?, mode: LocationMode) {
         lastLocation?.let { location ->
             locationComponent?.isLocationComponentEnabled = true
-            val locationUpdate = LocationUpdate.Builder()
-                .location(location)
-                .animationDuration(100)
-                .build()
-            locationComponent?.forceLocationUpdate(locationUpdate)
+            locationComponent?.forceLocationUpdate(location)
 
             if (mode == LocationMode.REAL_LOCATION) {
                 binding.mapLoader.isVisible = false
diff --git a/app/src/main/res/layout/fragment_fake_location.xml b/app/src/main/res/layout/fragment_fake_location.xml
index 47b86bf..dd375af 100644
--- a/app/src/main/res/layout/fragment_fake_location.xml
+++ b/app/src/main/res/layout/fragment_fake_location.xml
@@ -76,13 +76,12 @@
                     android:id="@+id/mapView"
                     android:layout_height="match_parent"
                     android:layout_width="match_parent"
-                    mapbox:mapbox_cameraZoom="8"
                     />
                 <ImageView
                     android:id="@+id/centered_marker"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:src="@drawable/mapbox_marker_icon_default"
+                    android:src="@drawable/maplibre_marker_icon_default"
                     android:layout_gravity="center"
                     android:visibility="gone"
                     />
-- 
cgit v1.2.1