Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ ext.libs = [
'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks"
],
maplibre : [
'androidSdk' : "org.maplibre.gl:android-sdk:10.0.2",
'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:1.0.0"
'androidSdk' : "org.maplibre.gl:android-sdk:11.6.1",
'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:3.0.2"
],
mockk : [
'mockk' : "io.mockk:mockk:$mockk",
Expand Down
4 changes: 2 additions & 2 deletions vector-app/src/main/java/im/vector/app/VectorApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import com.airbnb.mvrx.Mavericks
import com.facebook.stetho.Stetho
import com.gabrielittner.threetenbp.LazyThreeTen
import com.github.rubensousa.gravitysnaphelper.GravitySnapHelper
import com.mapbox.mapboxsdk.Mapbox
import com.vanniktech.emoji.EmojiManager
import com.vanniktech.emoji.google.GoogleEmojiProvider
import dagger.hilt.android.HiltAndroidApp
Expand Down Expand Up @@ -62,6 +61,7 @@ import im.vector.app.features.themes.ThemeUtils
import im.vector.app.features.version.VersionProvider
import im.vector.application.R
import org.jitsi.meet.sdk.log.JitsiMeetDefaultLogHandler
import org.maplibre.android.MapLibre
import org.matrix.android.sdk.api.Matrix
import org.matrix.android.sdk.api.auth.AuthenticationService
import timber.log.Timber
Expand Down Expand Up @@ -223,7 +223,7 @@ class VectorApplication :
EmojiManager.install(GoogleEmojiProvider())

// Initialize Mapbox before inflating mapViews
Mapbox.getInstance(this)
MapLibre.getInstance(this)

initMemoryLeakAnalysis()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.mapbox.mapboxsdk.maps.MapView
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment
import im.vector.app.core.platform.VectorBaseFragment
Expand All @@ -39,6 +38,7 @@ import im.vector.app.features.location.option.LocationSharingOption
import im.vector.app.features.settings.VectorPreferences
import im.vector.lib.strings.CommonStrings
import kotlinx.coroutines.launch
import org.maplibre.android.maps.MapView
import org.matrix.android.sdk.api.util.MatrixItem
import java.lang.ref.WeakReference
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@

package im.vector.app.features.location

import com.mapbox.mapboxsdk.camera.CameraPosition
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory
import com.mapbox.mapboxsdk.constants.MapboxConstants
import com.mapbox.mapboxsdk.geometry.LatLng
import com.mapbox.mapboxsdk.geometry.LatLngBounds
import com.mapbox.mapboxsdk.maps.MapboxMap
import org.maplibre.android.camera.CameraPosition
import org.maplibre.android.camera.CameraUpdateFactory
import org.maplibre.android.constants.MapLibreConstants
import org.maplibre.android.geometry.LatLng
import org.maplibre.android.geometry.LatLngBounds
import org.maplibre.android.maps.MapLibreMap

fun MapboxMap?.zoomToLocation(locationData: LocationData, preserveCurrentZoomLevel: Boolean = false) {
fun MapLibreMap?.zoomToLocation(locationData: LocationData, preserveCurrentZoomLevel: Boolean = false) {
val zoomLevel = if (preserveCurrentZoomLevel && this?.cameraPosition != null) {
cameraPosition.zoom
} else {
Expand All @@ -28,11 +28,11 @@ fun MapboxMap?.zoomToLocation(locationData: LocationData, preserveCurrentZoomLev
this?.easeCamera(cameraUpdate)
}

fun MapboxMap?.zoomToBounds(latLngBounds: LatLngBounds) {
fun MapLibreMap?.zoomToBounds(latLngBounds: LatLngBounds) {
this?.getCameraForLatLngBounds(latLngBounds)?.let { camPosition ->
// unZoom a little to avoid having pins exactly at the edges of the map
cameraPosition = CameraPosition.Builder(camPosition)
.zoom((camPosition.zoom - 1).coerceAtLeast(MapboxConstants.MINIMUM_ZOOM.toDouble()))
.zoom((camPosition.zoom - 1).coerceAtLeast(MapLibreConstants.MINIMUM_ZOOM.toDouble()))
.build()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ import androidx.core.graphics.drawable.toBitmap
import androidx.core.view.marginBottom
import androidx.core.view.marginTop
import androidx.core.view.updateLayoutParams
import com.mapbox.mapboxsdk.geometry.LatLng
import com.mapbox.mapboxsdk.maps.MapView
import com.mapbox.mapboxsdk.maps.MapboxMap
import com.mapbox.mapboxsdk.maps.Style
import com.mapbox.mapboxsdk.plugins.annotation.SymbolManager
import com.mapbox.mapboxsdk.plugins.annotation.SymbolOptions
import com.mapbox.mapboxsdk.style.layers.Property
import im.vector.app.R
import im.vector.app.core.utils.DimensionConverter
import im.vector.lib.strings.CommonStrings
import org.maplibre.android.geometry.LatLng
import org.maplibre.android.maps.MapLibreMap
import org.maplibre.android.maps.MapView
import org.maplibre.android.maps.Style
import org.maplibre.android.plugins.annotation.SymbolManager
import org.maplibre.android.plugins.annotation.SymbolOptions
import org.maplibre.android.style.layers.Property
import timber.log.Timber

private const val USER_PIN_ID = "user-pin-id"
Expand All @@ -42,7 +42,7 @@ class MapTilerMapView @JvmOverloads constructor(
private var pendingState: MapState? = null

data class MapRefs(
val map: MapboxMap,
val map: MapLibreMap,
val symbolManager: SymbolManager,
val style: Style
)
Expand Down Expand Up @@ -94,7 +94,7 @@ class MapTilerMapView @JvmOverloads constructor(
}
}

private fun initMapStyle(map: MapboxMap, url: String) {
private fun initMapStyle(map: MapLibreMap, url: String) {
map.setStyle(url) { style ->
val symbolManager = SymbolManager(this, map, style)
symbolManager.iconAllowOverlap = true
Expand All @@ -108,7 +108,7 @@ class MapTilerMapView @JvmOverloads constructor(
}
}

private fun initLocateButton(map: MapboxMap) {
private fun initLocateButton(map: MapLibreMap) {
if (showLocationButton) {
addView(locateButton)
adjustCompassButton(map)
Expand All @@ -132,15 +132,15 @@ class MapTilerMapView @JvmOverloads constructor(
}
}

private fun adjustCompassButton(map: MapboxMap) {
private fun adjustCompassButton(map: MapLibreMap) {
locateButton.post {
val marginTop = locateButton.height + locateButton.marginTop + locateButton.marginBottom
val marginRight = context.resources.getDimensionPixelOffset(im.vector.lib.ui.styles.R.dimen.location_sharing_compass_button_margin_horizontal)
map.uiSettings.setCompassMargins(0, marginTop, marginRight, 0)
}
}

private fun listenCameraMove(map: MapboxMap, locationTargetChangeListener: LocationTargetChangeListener?) {
private fun listenCameraMove(map: MapLibreMap, locationTargetChangeListener: LocationTargetChangeListener?) {
map.addOnCameraMoveListener {
notifyLocationOfMapCenter(locationTargetChangeListener)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

package im.vector.app.features.location.domain.usecase

import com.mapbox.mapboxsdk.geometry.LatLng
import im.vector.app.features.location.LocationData
import kotlinx.coroutines.withContext
import org.maplibre.android.geometry.LatLng
import org.matrix.android.sdk.api.session.Session
import javax.inject.Inject

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@ import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.mapbox.mapboxsdk.geometry.LatLng
import com.mapbox.mapboxsdk.geometry.LatLngBounds
import com.mapbox.mapboxsdk.maps.MapView
import com.mapbox.mapboxsdk.maps.MapboxMap
import com.mapbox.mapboxsdk.maps.MapboxMapOptions
import com.mapbox.mapboxsdk.maps.Style
import com.mapbox.mapboxsdk.maps.SupportMapFragment
import com.mapbox.mapboxsdk.plugins.annotation.OnSymbolClickListener
import com.mapbox.mapboxsdk.plugins.annotation.Symbol
import com.mapbox.mapboxsdk.plugins.annotation.SymbolManager
import com.mapbox.mapboxsdk.plugins.annotation.SymbolOptions
import com.mapbox.mapboxsdk.style.layers.Property
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.extensions.addChildFragment
Expand All @@ -54,6 +42,18 @@ import im.vector.app.features.location.zoomToBounds
import im.vector.app.features.location.zoomToLocation
import im.vector.lib.strings.CommonStrings
import kotlinx.coroutines.launch
import org.maplibre.android.geometry.LatLng
import org.maplibre.android.geometry.LatLngBounds
import org.maplibre.android.maps.MapLibreMap
import org.maplibre.android.maps.MapLibreMapOptions
import org.maplibre.android.maps.MapView
import org.maplibre.android.maps.Style
import org.maplibre.android.maps.SupportMapFragment
import org.maplibre.android.plugins.annotation.OnSymbolClickListener
import org.maplibre.android.plugins.annotation.Symbol
import org.maplibre.android.plugins.annotation.SymbolManager
import org.maplibre.android.plugins.annotation.SymbolOptions
import org.maplibre.android.style.layers.Property
import timber.log.Timber
import java.lang.ref.WeakReference
import javax.inject.Inject
Expand All @@ -74,7 +74,7 @@ class LiveLocationMapViewFragment :

private val viewModel: LiveLocationMapViewModel by fragmentViewModel()

private var mapboxMap: WeakReference<MapboxMap>? = null
private var mapboxMap: WeakReference<MapLibreMap>? = null
private var mapView: MapView? = null
private var symbolManager: SymbolManager? = null
private var mapStyle: Style? = null
Expand Down Expand Up @@ -214,7 +214,7 @@ class LiveLocationMapViewFragment :
private fun getOrCreateSupportMapFragment() =
childFragmentManager.findFragmentByTag(MAP_FRAGMENT_TAG) as? SupportMapFragment
?: run {
val options = MapboxMapOptions.createFromAttributes(requireContext(), null)
val options = MapLibreMapOptions.createFromAttributes(requireContext(), null)
SupportMapFragment.newInstance(options)
.also { addChildFragment(R.id.liveLocationMapFragmentContainer, it, tag = MAP_FRAGMENT_TAG) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.args
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
import com.mapbox.mapboxsdk.maps.MapView
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.R
import im.vector.app.core.platform.VectorBaseFragment
Expand All @@ -35,6 +34,7 @@ import im.vector.app.features.location.UrlMapProvider
import im.vector.app.features.location.showUserLocationNotAvailableErrorDialog
import im.vector.lib.strings.CommonStrings
import kotlinx.coroutines.launch
import org.maplibre.android.maps.MapView
import java.lang.ref.WeakReference
import javax.inject.Inject

Expand Down
Loading