summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2023-05-02 07:44:38 +0200
committerGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2023-05-02 19:48:23 +0200
commit91f28f1639b6b2e382f68fbd651cd24b8255d3a6 (patch)
tree288b9de73308753fc542b134ef574c58766a629c
parenta0ee04ea9dbc0802c828afdf660eb37dc6fa350f (diff)
1167: replace Mapbox with maplibre 10.0.2
-rw-r--r--.gitlab-ci.yml3
-rw-r--r--README.md2
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/PrivacyCentralApplication.kt2
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/features/location/FakeLocationFragment.kt20
-rw-r--r--app/src/main/res/layout/fragment_fake_location.xml3
-rw-r--r--build.gradle13
-rw-r--r--dependencies.gradle6
-rw-r--r--load-properties.gradle1
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=<insert mapbox public key>
-MAPBOX_SECRET_KEY=<insert mapbox secret key>
SENTRY_DSN=<insert sentry dsn>
```
**IMP: Never add this file to version control.**
@@ -57,7 +56,6 @@ SENTRY_DSN=<insert 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=<insert mapbox public key>
-export MAPBOX_SECRET_KEY=<insert mapbox secret key>
export SENTRY_DSN=<insert 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"
/>
<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"
/>
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