From 91f28f1639b6b2e382f68fbd651cd24b8255d3a6 Mon Sep 17 00:00:00 2001 From: Guillaume Jacquart Date: Tue, 2 May 2023 07:44:38 +0200 Subject: 1167: replace Mapbox with maplibre 10.0.2 --- .gitlab-ci.yml | 3 --- README.md | 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 +-- build.gradle | 13 ------------- dependencies.gradle | 6 +----- load-properties.gradle | 1 - 9 files changed, 13 insertions(+), 39 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1cddc6a..beb8370 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,6 @@ stages: # By default load dev keys. variables: MAPBOX_KEY: $MAPBOX_KEY_DEV - MAPBOX_SECRET_KEY: $MAPBOX_SECRET_KEY_DEV SENTRY_DSN: $SENTRY_DSN workflow: @@ -99,12 +98,10 @@ build-full: - if: '$CI_COMMIT_BRANCH == "main"' variables: MAPBOX_KEY: $MAPBOX_KEY_PROD - MAPBOX_SECRET_KEY: $MAPBOX_SECRET_KEY_PROD when: always - if: '$CI_COMMIT_REF_PROTECTED == "true"' variables: MAPBOX_KEY: $MAPBOX_KEY_PROD - MAPBOX_SECRET_KEY: $MAPBOX_SECRET_KEY_PROD when: always - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"' when: always diff --git a/README.md b/README.md index 9d58239..0b842ed 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,6 @@ This project uses [Sentry](https://sentry.io) for telemetry and crash reports, You can set them in local.properties ``` MAPBOX_KEY= -MAPBOX_SECRET_KEY= SENTRY_DSN= ``` **IMP: Never add this file to version control.** @@ -57,7 +56,6 @@ SENTRY_DSN= When building in CI environment, we don't have local.properties file. So the following environment variables must be set: ``` export MAPBOX_KEY= -export MAPBOX_SECRET_KEY= export SENTRY_DSN= ``` 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" /> diff --git a/build.gradle b/build.gradle index 9cade0a..715772f 100644 --- a/build.gradle +++ b/build.gradle @@ -74,19 +74,6 @@ allprojects { repositories { google() mavenCentral() - maven { - url 'https://api.mapbox.com/downloads/v2/releases/maven' - authentication { - basic(BasicAuthentication) - } - credentials { - // Do not change the username below. - // This should always be `mapbox` (not your username). - username = 'mapbox' - // Use the secret token you stored in gradle.properties as the password - password = MAPBOX_SECRET_KEY ?: "" - } - } maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" } maven { url 'https://gitlab.e.foundation/api/v4/groups/9/-/packages/maven' } maven { url 'https://jitpack.io' } diff --git a/dependencies.gradle b/dependencies.gradle index 08d1fe3..5fbbcf6 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -111,11 +111,7 @@ libs.Retrofit = [ scalars: 'com.squareup.retrofit2:converter-scalars:2.9.0' ] - -versions.mapbox="9.6.1" -libs.MapBox = [ - sdk: "com.mapbox.mapboxsdk:mapbox-android-sdk:$versions.mapbox" -] +libs.maplibre = 'org.maplibre.gl:android-sdk:10.0.2' libs.mpAndroidCharts = 'com.github.PhilJay:MPAndroidChart:v3.1.0' diff --git a/load-properties.gradle b/load-properties.gradle index 2c0134e..d9f9034 100644 --- a/load-properties.gradle +++ b/load-properties.gradle @@ -29,6 +29,5 @@ if (localPropertiesFile.exists()) { p.each { name, value -> ext[name] = value } } else { ext["MAPBOX_KEY"] = System.getenv('MAPBOX_KEY') - ext["MAPBOX_SECRET_KEY"] = System.getenv('MAPBOX_SECRET_KEY') ext["SENTRY_DSN"] = System.getenv('SENTRY_DSN') } \ No newline at end of file -- cgit v1.2.1