diff --git a/.github/workflows/flutter_ci.yml b/.github/workflows/flutter_ci.yml index 5ed41f00a..a1e8e6414 100644 --- a/.github/workflows/flutter_ci.yml +++ b/.github/workflows/flutter_ci.yml @@ -4,7 +4,6 @@ on: [push, pull_request, workflow_dispatch] env: FLUTTER_CHANNEL: 'stable' - FLUTTER_VERSION: '3.10.5' jobs: format: @@ -15,7 +14,6 @@ jobs: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2.13.0 with: - flutter-version: ${{ env.FLUTTER_VERSION }} channel: ${{ env.FLUTTER_CHANNEL }} cache: true - name: Lint analysis @@ -29,7 +27,6 @@ jobs: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2.13.0 with: - flutter-version: ${{ env.FLUTTER_VERSION }} channel: ${{ env.FLUTTER_CHANNEL }} cache: true - run: flutter pub get @@ -51,12 +48,11 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'temurin' cache: 'gradle' - uses: subosito/flutter-action@v2.13.0 with: - flutter-version: ${{ env.FLUTTER_VERSION }} channel: ${{ env.FLUTTER_CHANNEL }} cache: true - run: flutter pub get @@ -75,7 +71,6 @@ jobs: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2.13.0 with: - flutter-version: ${{ env.FLUTTER_VERSION }} channel: ${{ env.FLUTTER_CHANNEL }} cache: true - uses: maxim-lobanov/setup-cocoapods@v1 @@ -101,7 +96,6 @@ jobs: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2.13.0 with: - flutter-version: ${{ env.FLUTTER_VERSION }} channel: ${{ env.FLUTTER_CHANNEL }} cache: true - run: flutter pub get diff --git a/.github/workflows/formatter.yml b/.github/workflows/formatter.yml index ba6e5e8c1..39f4aaceb 100644 --- a/.github/workflows/formatter.yml +++ b/.github/workflows/formatter.yml @@ -3,7 +3,6 @@ on: [workflow_dispatch] env: FLUTTER_CHANNEL: 'stable' - FLUTTER_VERSION: '3.10.5' jobs: format: @@ -14,7 +13,6 @@ jobs: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2.13.0 with: - flutter-version: ${{ env.FLUTTER_VERSION }} channel: ${{ env.FLUTTER_CHANNEL }} cache: true - name: format diff --git a/android/build.gradle b/android/build.gradle index 5acdf869a..88748adac 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,4 +1,4 @@ -group 'com.mapbox.mapboxgl' +group 'org.maplibre.maplibregl' version '1.0-SNAPSHOT' buildscript { @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:8.2.2' } } @@ -24,8 +24,9 @@ apply plugin: 'org.jetbrains.kotlin.android' android { - compileSdkVersion 31 - ndkVersion "20.1.5948944" + compileSdkVersion 34 + ndkVersion "25.1.8937393" + namespace "org.maplibre.maplibregl" defaultConfig { minSdkVersion 21 @@ -36,19 +37,15 @@ android { disable 'InvalidPackage' } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } dependencies { - implementation 'org.maplibre.gl:android-sdk:10.2.0' + implementation 'org.maplibre.gl:android-sdk:11.0.0' implementation 'org.maplibre.gl:android-plugin-annotation-v9:2.0.0' implementation 'org.maplibre.gl:android-plugin-offline-v9:2.0.0' implementation 'com.squareup.okhttp3:okhttp:4.10.0' } - compileOptions { - sourceCompatibility 1.8 - targetCompatibility 1.8 - } } dependencies { diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 5d1179572..d45ad3a4a 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index e907b9818..2ea73f089 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1 +1 @@ -rootProject.name = 'mapbox_gl' +rootProject.name = 'maplibre_gl' diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 5f4189a1b..a2f47b605 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - + diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapBoxUtils.java b/android/src/main/java/com/mapbox/mapboxgl/MapBoxUtils.java deleted file mode 100644 index e5bc1cb21..000000000 --- a/android/src/main/java/com/mapbox/mapboxgl/MapBoxUtils.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.mapbox.mapboxgl; - -import android.content.Context; -import com.mapbox.mapboxsdk.Mapbox; - -abstract class MapBoxUtils { - private static final String TAG = "MapboxMapController"; - - static Mapbox getMapbox(Context context) { - return Mapbox.getInstance(context); - } -} diff --git a/android/src/main/java/com/mapbox/mapboxgl/Convert.java b/android/src/main/java/org/maplibre/maplibregl/Convert.java similarity index 91% rename from android/src/main/java/com/mapbox/mapboxgl/Convert.java rename to android/src/main/java/org/maplibre/maplibregl/Convert.java index f22b9d068..c15fc69be 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/Convert.java +++ b/android/src/main/java/org/maplibre/maplibregl/Convert.java @@ -2,25 +2,25 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.content.Context; import android.graphics.Point; import android.util.DisplayMetrics; -import com.mapbox.geojson.Polygon; -import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.camera.CameraUpdate; -import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.geometry.LatLngBounds; -import com.mapbox.mapboxsdk.maps.MapboxMap; +import org.maplibre.geojson.Polygon; +import org.maplibre.android.camera.CameraPosition; +import org.maplibre.android.camera.CameraUpdate; +import org.maplibre.android.camera.CameraUpdateFactory; +import org.maplibre.android.geometry.LatLng; +import org.maplibre.android.geometry.LatLngBounds; +import org.maplibre.android.maps.MapLibreMap; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -/** Conversions between JSON-like values and MapboxMaps data types. */ +/** Conversions between JSON-like values and MapLibreMaps data types. */ class Convert { private static final String TAG = "Convert"; @@ -43,7 +43,7 @@ static boolean isScrollByCameraUpdate(Object o) { return toString(toList(o).get(0)).equals("scrollBy"); } - static CameraUpdate toCameraUpdate(Object o, MapboxMap mapboxMap, float density) { + static CameraUpdate toCameraUpdate(Object o, MapLibreMap maplibreMap, float density) { final List data = toList(o); switch (toString(data.get(0))) { case "newCameraPosition": @@ -60,7 +60,7 @@ static CameraUpdate toCameraUpdate(Object o, MapboxMap mapboxMap, float density) case "newLatLngZoom": return CameraUpdateFactory.newLatLngZoom(toLatLng(data.get(1)), toFloat(data.get(2))); case "scrollBy": - mapboxMap.scrollBy( + maplibreMap.scrollBy( toFractionalPixels(data.get(1), density), toFractionalPixels(data.get(2), density)); return null; case "zoomBy": @@ -164,12 +164,12 @@ private static List> toLatLngListList(Object o) { } static Polygon interpretListLatLng(List> geometry) { - List> points = new ArrayList<>(geometry.size()); + List> points = new ArrayList<>(geometry.size()); for (List innerGeometry : geometry) { - List innerPoints = new ArrayList<>(innerGeometry.size()); + List innerPoints = new ArrayList<>(innerGeometry.size()); for (LatLng latLng : innerGeometry) { innerPoints.add( - com.mapbox.geojson.Point.fromLngLat(latLng.getLongitude(), latLng.getLatitude())); + org.maplibre.geojson.Point.fromLngLat(latLng.getLongitude(), latLng.getLatitude())); } points.add(innerPoints); } @@ -205,7 +205,7 @@ static String toString(Object o) { return (String) o; } - static void interpretMapboxMapOptions(Object o, MapboxMapOptionsSink sink, Context context) { + static void interpretMapLibreMapOptions(Object o, MapLibreMapOptionsSink sink, Context context) { final DisplayMetrics metrics = context.getResources().getDisplayMetrics(); final Map data = toMap(o); final Object cameraTargetBounds = data.get("cameraTargetBounds"); diff --git a/android/src/main/java/com/mapbox/mapboxgl/GlobalMethodHandler.java b/android/src/main/java/org/maplibre/maplibregl/GlobalMethodHandler.java similarity index 96% rename from android/src/main/java/com/mapbox/mapboxgl/GlobalMethodHandler.java rename to android/src/main/java/org/maplibre/maplibregl/GlobalMethodHandler.java index 6b064eab5..a94b7cf5b 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/GlobalMethodHandler.java +++ b/android/src/main/java/org/maplibre/maplibregl/GlobalMethodHandler.java @@ -1,10 +1,10 @@ -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.mapbox.mapboxsdk.net.ConnectivityReceiver; +import org.maplibre.android.net.ConnectivityReceiver; import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MethodCall; @@ -70,7 +70,7 @@ private static void copy(InputStream input, OutputStream output) throws IOExcept @Override public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) { - MapBoxUtils.getMapbox(context); + MapLibreUtils.getMapLibre(context); switch (methodCall.method) { case "installOfflineMapTiles": @@ -92,7 +92,7 @@ public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) { break; case "setHttpHeaders": Map headers = (Map) methodCall.argument("headers"); - MapboxHttpRequestUtil.setHttpHeaders(headers, result); + MapLibreHttpRequestUtil.setHttpHeaders(headers, result); break; case "downloadOfflineRegion#setup": String channelName = methodCall.argument("channelName"); diff --git a/android/src/main/java/com/mapbox/mapboxgl/LayerPropertyConverter.java b/android/src/main/java/org/maplibre/maplibregl/LayerPropertyConverter.java similarity index 98% rename from android/src/main/java/com/mapbox/mapboxgl/LayerPropertyConverter.java rename to android/src/main/java/org/maplibre/maplibregl/LayerPropertyConverter.java index de584703b..832e7705f 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/LayerPropertyConverter.java +++ b/android/src/main/java/org/maplibre/maplibregl/LayerPropertyConverter.java @@ -1,11 +1,11 @@ // This file is generated by // ./scripts/lib/generate.dart -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; -import com.mapbox.mapboxsdk.style.expressions.Expression; -import com.mapbox.mapboxsdk.style.layers.PropertyFactory; -import com.mapbox.mapboxsdk.style.layers.PropertyValue; +import org.maplibre.android.style.expressions.Expression; +import org.maplibre.android.style.layers.PropertyFactory; +import org.maplibre.android.style.layers.PropertyValue; import java.util.LinkedList; import java.util.List; @@ -16,7 +16,7 @@ import com.google.gson.JsonPrimitive; -import static com.mapbox.mapboxgl.Convert.toMap; +import static org.maplibre.maplibregl.Convert.toMap; class LayerPropertyConverter { static PropertyValue[] interpretSymbolLayerProperties(Object o) { diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapboxHttpRequestUtil.java b/android/src/main/java/org/maplibre/maplibregl/MapLibreHttpRequestUtil.java similarity index 91% rename from android/src/main/java/com/mapbox/mapboxgl/MapboxHttpRequestUtil.java rename to android/src/main/java/org/maplibre/maplibregl/MapLibreHttpRequestUtil.java index 185bccd91..5a796e6f6 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/MapboxHttpRequestUtil.java +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreHttpRequestUtil.java @@ -1,12 +1,12 @@ -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; -import com.mapbox.mapboxsdk.module.http.HttpRequestUtil; +import org.maplibre.android.module.http.HttpRequestUtil; import io.flutter.plugin.common.MethodChannel; import java.util.Map; import okhttp3.OkHttpClient; import okhttp3.Request; -abstract class MapboxHttpRequestUtil { +abstract class MapLibreHttpRequestUtil { public static void setHttpHeaders(Map headers, MethodChannel.Result result) { HttpRequestUtil.setOkHttpClient(getOkHttpClient(headers, result).build()); diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapBuilder.java b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapBuilder.java similarity index 91% rename from android/src/main/java/com/mapbox/mapboxgl/MapboxMapBuilder.java rename to android/src/main/java/org/maplibre/maplibregl/MapLibreMapBuilder.java index 28e4476a9..96fae2af7 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapBuilder.java +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapBuilder.java @@ -2,20 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.content.Context; import android.view.Gravity; import androidx.annotation.NonNull; -import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.geometry.LatLngBounds; -import com.mapbox.mapboxsdk.maps.MapboxMapOptions; +import org.maplibre.android.camera.CameraPosition; +import org.maplibre.android.geometry.LatLngBounds; +import org.maplibre.android.maps.MapLibreMapOptions; import io.flutter.plugin.common.BinaryMessenger; -class MapboxMapBuilder implements MapboxMapOptionsSink { +class MapLibreMapBuilder implements MapLibreMapOptionsSink { public final String TAG = getClass().getSimpleName(); - private final MapboxMapOptions options = - new MapboxMapOptions().attributionEnabled(true).logoEnabled(false).textureMode(true); + private final MapLibreMapOptions options = + new MapLibreMapOptions().attributionEnabled(true).logoEnabled(false).textureMode(true); private boolean trackCameraPosition = false; private boolean myLocationEnabled = false; private boolean dragEnabled = true; @@ -24,14 +24,14 @@ class MapboxMapBuilder implements MapboxMapOptionsSink { private String styleString = ""; private LatLngBounds bounds = null; - MapboxMapController build( + MapLibreMapController build( int id, Context context, BinaryMessenger messenger, - MapboxMapsPlugin.LifecycleProvider lifecycleProvider) { + MapLibreMapsPlugin.LifecycleProvider lifecycleProvider) { - final MapboxMapController controller = - new MapboxMapController( + final MapLibreMapController controller = + new MapLibreMapController( id, context, messenger, lifecycleProvider, options, styleString, dragEnabled); controller.init(); controller.setMyLocationEnabled(myLocationEnabled); diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapController.java b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapController.java similarity index 94% rename from android/src/main/java/com/mapbox/mapboxgl/MapboxMapController.java rename to android/src/main/java/org/maplibre/maplibregl/MapLibreMapController.java index d9187fd65..b38e05481 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapController.java +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapController.java @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.Manifest; import android.annotation.SuppressLint; @@ -33,49 +33,48 @@ import com.google.gson.JsonParser; import com.mapbox.android.gestures.AndroidGesturesManager; import com.mapbox.android.gestures.MoveGestureDetector; -import com.mapbox.geojson.Feature; -import com.mapbox.geojson.FeatureCollection; -import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.camera.CameraUpdate; -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.geometry.LatLngQuad; -import com.mapbox.mapboxsdk.geometry.VisibleRegion; -import com.mapbox.mapboxsdk.location.LocationComponent; -import com.mapbox.mapboxsdk.location.LocationComponentActivationOptions; -import com.mapbox.mapboxsdk.location.LocationComponentOptions; -import com.mapbox.mapboxsdk.location.OnCameraTrackingChangedListener; -import com.mapbox.mapboxsdk.location.engine.LocationEngineCallback; -import com.mapbox.mapboxsdk.location.engine.LocationEngineResult; -import com.mapbox.mapboxsdk.location.modes.CameraMode; -import com.mapbox.mapboxsdk.location.modes.RenderMode; -import com.mapbox.mapboxsdk.maps.MapView; -import com.mapbox.mapboxsdk.maps.MapboxMap; -import com.mapbox.mapboxsdk.maps.MapboxMapOptions; -import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; -import com.mapbox.mapboxsdk.maps.Style; -import com.mapbox.mapboxsdk.offline.OfflineManager; -import com.mapbox.mapboxsdk.style.expressions.Expression; -import com.mapbox.mapboxsdk.style.layers.CircleLayer; -import com.mapbox.mapboxsdk.style.layers.FillExtrusionLayer; -import com.mapbox.mapboxsdk.style.layers.FillLayer; -import com.mapbox.mapboxsdk.style.layers.HeatmapLayer; -import com.mapbox.mapboxsdk.style.layers.HillshadeLayer; -import com.mapbox.mapboxsdk.style.layers.Layer; -import com.mapbox.mapboxsdk.style.layers.LineLayer; -import com.mapbox.mapboxsdk.style.layers.Property; -import com.mapbox.mapboxsdk.style.layers.PropertyValue; -import com.mapbox.mapboxsdk.style.layers.RasterLayer; -import com.mapbox.mapboxsdk.style.layers.SymbolLayer; -import com.mapbox.mapboxsdk.style.layers.PropertyFactory; -import com.mapbox.mapboxsdk.style.sources.CustomGeometrySource; -import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; -import com.mapbox.mapboxsdk.style.sources.ImageSource; -import com.mapbox.mapboxsdk.style.sources.Source; -import com.mapbox.mapboxsdk.style.sources.VectorSource; -import com.mapbox.mapboxsdk.style.types.Formatted; +import org.maplibre.geojson.Feature; +import org.maplibre.geojson.FeatureCollection; +import org.maplibre.android.camera.CameraPosition; +import org.maplibre.android.camera.CameraUpdate; +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.geometry.LatLngQuad; +import org.maplibre.android.geometry.VisibleRegion; +import org.maplibre.android.location.LocationComponent; +import org.maplibre.android.location.LocationComponentActivationOptions; +import org.maplibre.android.location.LocationComponentOptions; +import org.maplibre.android.location.OnCameraTrackingChangedListener; +import org.maplibre.android.location.engine.LocationEngineCallback; +import org.maplibre.android.location.engine.LocationEngineResult; +import org.maplibre.android.location.modes.CameraMode; +import org.maplibre.android.location.modes.RenderMode; +import org.maplibre.android.maps.MapView; +import org.maplibre.android.maps.MapLibreMap; +import org.maplibre.android.maps.MapLibreMapOptions; +import org.maplibre.android.maps.OnMapReadyCallback; +import org.maplibre.android.maps.Style; +import org.maplibre.android.offline.OfflineManager; +import org.maplibre.android.style.expressions.Expression; +import org.maplibre.android.style.layers.CircleLayer; +import org.maplibre.android.style.layers.FillExtrusionLayer; +import org.maplibre.android.style.layers.FillLayer; +import org.maplibre.android.style.layers.HeatmapLayer; +import org.maplibre.android.style.layers.HillshadeLayer; +import org.maplibre.android.style.layers.Layer; +import org.maplibre.android.style.layers.LineLayer; +import org.maplibre.android.style.layers.Property; +import org.maplibre.android.style.layers.PropertyValue; +import org.maplibre.android.style.layers.RasterLayer; +import org.maplibre.android.style.layers.SymbolLayer; +import org.maplibre.android.style.layers.PropertyFactory; +import org.maplibre.android.style.sources.CustomGeometrySource; +import org.maplibre.android.style.sources.GeoJsonSource; +import org.maplibre.android.style.sources.ImageSource; +import org.maplibre.android.style.sources.Source; +import org.maplibre.android.style.sources.VectorSource; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MethodCall; @@ -94,35 +93,35 @@ import java.util.Set; -/** Controller of a single MapboxMaps MapView instance. */ +/** Controller of a single MapLibreMaps MapView instance. */ @SuppressLint("MissingPermission") -final class MapboxMapController +final class MapLibreMapController implements DefaultLifecycleObserver, - MapboxMap.OnCameraIdleListener, - MapboxMap.OnCameraMoveListener, - MapboxMap.OnCameraMoveStartedListener, + MapLibreMap.OnCameraIdleListener, + MapLibreMap.OnCameraMoveListener, + MapLibreMap.OnCameraMoveStartedListener, MapView.OnDidBecomeIdleListener, - MapboxMap.OnMapClickListener, - MapboxMap.OnMapLongClickListener, - MapboxMapOptionsSink, + MapLibreMap.OnMapClickListener, + MapLibreMap.OnMapLongClickListener, + MapLibreMapOptionsSink, MethodChannel.MethodCallHandler, OnMapReadyCallback, OnCameraTrackingChangedListener, PlatformView { - private static final String TAG = "MapboxMapController"; + private static final String TAG = "MapLibreMapController"; private final int id; private final MethodChannel methodChannel; - private final MapboxMapsPlugin.LifecycleProvider lifecycleProvider; + private final MapLibreMapsPlugin.LifecycleProvider lifecycleProvider; private final float density; private final Context context; private final String styleStringInitial; /** * This container is returned as the final platform view instead of returning `mapView`. - * See {@link MapboxMapController#destroyMapViewIfNecessary()} for details. + * See {@link MapLibreMapController#destroyMapViewIfNecessary()} for details. */ private FrameLayout mapViewContainer; private MapView mapView; - private MapboxMap mapboxMap; + private MapLibreMap mapboxMap; private boolean trackCameraPosition = false; private boolean myLocationEnabled = false; private int myLocationTrackingMode = 0; @@ -147,7 +146,7 @@ final class MapboxMapController new Style.OnStyleLoaded() { @Override public void onStyleLoaded(@NonNull Style style) { - MapboxMapController.this.style = style; + MapLibreMapController.this.style = style; // commented out while cherry-picking upstream956 // if (myLocationEnabled) { @@ -161,22 +160,22 @@ public void onStyleLoaded(@NonNull Style style) { mapboxMap.setLatLngBoundsForCameraTarget(bounds); } - mapboxMap.addOnMapClickListener(MapboxMapController.this); - mapboxMap.addOnMapLongClickListener(MapboxMapController.this); + mapboxMap.addOnMapClickListener(MapLibreMapController.this); + mapboxMap.addOnMapLongClickListener(MapLibreMapController.this); methodChannel.invokeMethod("map#onStyleLoaded", null); } }; - MapboxMapController( + MapLibreMapController( int id, Context context, BinaryMessenger messenger, - MapboxMapsPlugin.LifecycleProvider lifecycleProvider, - MapboxMapOptions options, + MapLibreMapsPlugin.LifecycleProvider lifecycleProvider, + MapLibreMapOptions options, String styleStringInitial, boolean dragEnabled) { - MapBoxUtils.getMapbox(context); + MapLibreUtils.getMapLibre(context); this.id = id; this.context = context; this.dragEnabled = dragEnabled; @@ -219,7 +218,7 @@ private CameraPosition getCameraPosition() { } @Override - public void onMapReady(MapboxMap mapboxMap) { + public void onMapReady(MapLibreMap mapboxMap) { this.mapboxMap = mapboxMap; if (mapReadyResult != null) { mapReadyResult.success(null); @@ -275,7 +274,7 @@ public void setStyleString(@NonNull String styleString) { && !styleString.startsWith("https://") && !styleString.startsWith("mapbox://")) { // We are assuming that the style will be loaded from an asset here. - String key = MapboxMapsPlugin.flutterAssets.getAssetFilePathByName(styleString); + String key = MapLibreMapsPlugin.flutterAssets.getAssetFilePathByName(styleString); mapboxMap.setStyle(new Style.Builder().fromUri("asset://" + key), onStyleLoadedCallback); } else { mapboxMap.setStyle(new Style.Builder().fromUri(styleString), onStyleLoadedCallback); @@ -686,7 +685,7 @@ public void onMethodCall(MethodCall call, MethodChannel.Result result) { break; case "map#update": { - Convert.interpretMapboxMapOptions(call.argument("options"), this, context); + Convert.interpretMapLibreMapOptions(call.argument("options"), this, context); result.success(Convert.toJson(getCameraPosition())); break; } @@ -701,7 +700,7 @@ public void onMethodCall(MethodCall call, MethodChannel.Result result) { { try { final Locale deviceLocale = Locale.getDefault(); - MapboxMapUtils.setMapLanguage(mapboxMap, deviceLocale.getLanguage()); + MapLibreMapUtils.setMapLanguage(mapboxMap, deviceLocale.getLanguage()); result.success(null); } catch (RuntimeException exception) { @@ -731,7 +730,7 @@ public void onMethodCall(MethodCall call, MethodChannel.Result result) { { final String language = call.argument("language"); try { - MapboxMapUtils.setMapLanguage(mapboxMap, language); + MapLibreMapUtils.setMapLanguage(mapboxMap, language); result.success(null); } catch (RuntimeException exception) { @@ -1597,7 +1596,7 @@ public void onFailure(@NonNull Exception exception) { @Override public void onCameraMoveStarted(int reason) { final Map arguments = new HashMap<>(2); - boolean isGesture = reason == MapboxMap.OnCameraMoveStartedListener.REASON_API_GESTURE; + boolean isGesture = reason == MapLibreMap.OnCameraMoveStartedListener.REASON_API_GESTURE; arguments.put("isGesture", isGesture); methodChannel.invokeMethod("camera#onMoveStarted", arguments); } @@ -1835,7 +1834,7 @@ public void onDestroy(@NonNull LifecycleOwner owner) { destroyMapViewIfNecessary(); } - // MapboxMapOptionsSink methods + // MapLibreMapOptionsSink methods @Override public void setCameraTargetBounds(LatLngBounds bounds) { @@ -1869,8 +1868,8 @@ public void setTiltGesturesEnabled(boolean tiltGesturesEnabled) { @Override public void setMinMaxZoomPreference(Float min, Float max) { - mapboxMap.setMinZoomPreference(min != null ? min : MapboxConstants.MINIMUM_ZOOM); - mapboxMap.setMaxZoomPreference(max != null ? max : MapboxConstants.MAXIMUM_ZOOM); + mapboxMap.setMinZoomPreference(min != null ? min : MapLibreConstants.MINIMUM_ZOOM); + mapboxMap.setMaxZoomPreference(max != null ? max : MapLibreConstants.MAXIMUM_ZOOM); } @Override @@ -2090,7 +2089,7 @@ private Bitmap getScaledImage(String imageId, float density) { String assetPath; if (i == 1) { // If density is 1.0x then simply take the default asset path - assetPath = MapboxMapsPlugin.flutterAssets.getAssetFilePathByName(imageId); + assetPath = MapLibreMapsPlugin.flutterAssets.getAssetFilePathByName(imageId); } else { // Build a resolution aware asset path as follows: // // @@ -2103,7 +2102,7 @@ private Bitmap getScaledImage(String imageId, float density) { stringBuilder.append(((float) i) + "x"); stringBuilder.append("/"); stringBuilder.append(imagePathList.get(imagePathList.size() - 1)); - assetPath = MapboxMapsPlugin.flutterAssets.getAssetFilePathByName(stringBuilder.toString()); + assetPath = MapLibreMapsPlugin.flutterAssets.getAssetFilePathByName(stringBuilder.toString()); } // Build up a list of resolution aware asset paths. assetPathList.add(assetPath); @@ -2203,7 +2202,7 @@ void stopDragging() { } /** Simple Listener to listen for the status of camera movements. */ - public class OnCameraMoveFinishedListener implements MapboxMap.CancelableCallback { + public class OnCameraMoveFinishedListener implements MapLibreMap.CancelableCallback { @Override public void onFinish() {} @@ -2215,17 +2214,17 @@ private class MoveGestureListener implements MoveGestureDetector.OnMoveGestureLi @Override public boolean onMoveBegin(MoveGestureDetector detector) { - return MapboxMapController.this.onMoveBegin(detector); + return MapLibreMapController.this.onMoveBegin(detector); } @Override public boolean onMove(MoveGestureDetector detector, float distanceX, float distanceY) { - return MapboxMapController.this.onMove(detector); + return MapLibreMapController.this.onMove(detector); } @Override public void onMoveEnd(MoveGestureDetector detector, float velocityX, float velocityY) { - MapboxMapController.this.onMoveEnd(detector); + MapLibreMapController.this.onMoveEnd(detector); } } } diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapFactory.java b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapFactory.java similarity index 71% rename from android/src/main/java/com/mapbox/mapboxgl/MapboxMapFactory.java rename to android/src/main/java/org/maplibre/maplibregl/MapLibreMapFactory.java index d36ab4f86..7fdda1d63 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapFactory.java +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapFactory.java @@ -1,23 +1,23 @@ -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.content.Context; import androidx.annotation.NonNull; -import com.mapbox.mapboxsdk.camera.CameraPosition; +import org.maplibre.android.camera.CameraPosition; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.StandardMessageCodec; import io.flutter.plugin.platform.PlatformView; import io.flutter.plugin.platform.PlatformViewFactory; import java.util.Map; -public class MapboxMapFactory extends PlatformViewFactory { +public class MapLibreMapFactory extends PlatformViewFactory { private final BinaryMessenger messenger; - private final MapboxMapsPlugin.LifecycleProvider lifecycleProvider; + private final MapLibreMapsPlugin.LifecycleProvider lifecycleProvider; - public MapboxMapFactory( - BinaryMessenger messenger, MapboxMapsPlugin.LifecycleProvider lifecycleProvider) { + public MapLibreMapFactory( + BinaryMessenger messenger, MapLibreMapsPlugin.LifecycleProvider lifecycleProvider) { super(StandardMessageCodec.INSTANCE); this.messenger = messenger; this.lifecycleProvider = lifecycleProvider; @@ -27,9 +27,9 @@ public MapboxMapFactory( @Override public PlatformView create(Context context, int id, Object args) { Map params = (Map) args; - final MapboxMapBuilder builder = new MapboxMapBuilder(); + final MapLibreMapBuilder builder = new MapLibreMapBuilder(); - Convert.interpretMapboxMapOptions(params.get("options"), builder, context); + Convert.interpretMapLibreMapOptions(params.get("options"), builder, context); if (params.containsKey("initialCameraPosition")) { CameraPosition position = Convert.toCameraPosition(params.get("initialCameraPosition")); builder.setInitialCameraPosition(position); diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapOptionsSink.kt b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapOptionsSink.kt similarity index 87% rename from android/src/main/java/com/mapbox/mapboxgl/MapboxMapOptionsSink.kt rename to android/src/main/java/org/maplibre/maplibregl/MapLibreMapOptionsSink.kt index ae9bdaed4..49fa1647f 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapOptionsSink.kt +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapOptionsSink.kt @@ -1,12 +1,12 @@ // Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package com.mapbox.mapboxgl +package org.maplibre.maplibregl -import com.mapbox.mapboxsdk.geometry.LatLngBounds +import org.maplibre.android.geometry.LatLngBounds -/** Receiver of MapboxMap configuration options. */ -internal interface MapboxMapOptionsSink { +/** Receiver of MapLibreMap configuration options. */ +internal interface MapLibreMapOptionsSink { // todo: dddd replace with CameraPosition.Builder target fun setCameraTargetBounds(bounds: LatLngBounds) diff --git a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapsPlugin.java b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapsPlugin.java similarity index 89% rename from android/src/main/java/com/mapbox/mapboxgl/MapboxMapsPlugin.java rename to android/src/main/java/org/maplibre/maplibregl/MapLibreMapsPlugin.java index a7e59f27c..4213ca38e 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/MapboxMapsPlugin.java +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreMapsPlugin.java @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.app.Activity; import android.app.Application; @@ -20,19 +20,19 @@ import io.flutter.plugin.common.PluginRegistry.Registrar; /** - * Plugin for controlling a set of MapboxMap views to be shown as overlays on top of the Flutter + * Plugin for controlling a set of MapLibreMap views to be shown as overlays on top of the Flutter * view. The overlay should be hidden during transformations or while Flutter is rendering on top of - * the map. A Texture drawn using MapboxMap bitmap snapshots can then be shown instead of the + * the map. A Texture drawn using MapLibreMap bitmap snapshots can then be shown instead of the * overlay. */ -public class MapboxMapsPlugin implements FlutterPlugin, ActivityAware { +public class MapLibreMapsPlugin implements FlutterPlugin, ActivityAware { private static final String VIEW_TYPE = "plugins.flutter.io/mapbox_gl"; static FlutterAssets flutterAssets; private Lifecycle lifecycle; - public MapboxMapsPlugin() { + public MapLibreMapsPlugin() { // no-op } @@ -50,7 +50,7 @@ public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { .getPlatformViewRegistry() .registerViewFactory( "plugins.flutter.io/mapbox_gl", - new MapboxMapFactory( + new MapLibreMapFactory( binding.getBinaryMessenger(), new LifecycleProvider() { @Nullable diff --git a/android/src/main/java/org/maplibre/maplibregl/MapLibreUtils.java b/android/src/main/java/org/maplibre/maplibregl/MapLibreUtils.java new file mode 100644 index 000000000..dadbd16ce --- /dev/null +++ b/android/src/main/java/org/maplibre/maplibregl/MapLibreUtils.java @@ -0,0 +1,12 @@ +package org.maplibre.maplibregl; + +import android.content.Context; +import org.maplibre.android.MapLibre; + +abstract class MapLibreUtils { + private static final String TAG = "MapLibreMapController"; + + static MapLibre getMapLibre(Context context) { + return MapLibre.getInstance(context); + } +} diff --git a/android/src/main/java/com/mapbox/mapboxgl/OfflineChannelHandlerImpl.java b/android/src/main/java/org/maplibre/maplibregl/OfflineChannelHandlerImpl.java similarity index 97% rename from android/src/main/java/com/mapbox/mapboxgl/OfflineChannelHandlerImpl.java rename to android/src/main/java/org/maplibre/maplibregl/OfflineChannelHandlerImpl.java index 64164f792..c29fe17e4 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/OfflineChannelHandlerImpl.java +++ b/android/src/main/java/org/maplibre/maplibregl/OfflineChannelHandlerImpl.java @@ -1,4 +1,4 @@ -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import androidx.annotation.Nullable; import com.google.gson.Gson; diff --git a/android/src/main/java/com/mapbox/mapboxgl/OfflineManagerUtils.java b/android/src/main/java/org/maplibre/maplibregl/OfflineManagerUtils.java similarity index 95% rename from android/src/main/java/com/mapbox/mapboxgl/OfflineManagerUtils.java rename to android/src/main/java/org/maplibre/maplibregl/OfflineManagerUtils.java index ded2db1ea..b0585a194 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/OfflineManagerUtils.java +++ b/android/src/main/java/org/maplibre/maplibregl/OfflineManagerUtils.java @@ -1,16 +1,16 @@ -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.content.Context; import android.util.Log; import com.google.gson.Gson; -import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.geometry.LatLngBounds; -import com.mapbox.mapboxsdk.offline.OfflineManager; -import com.mapbox.mapboxsdk.offline.OfflineRegion; -import com.mapbox.mapboxsdk.offline.OfflineRegionDefinition; -import com.mapbox.mapboxsdk.offline.OfflineRegionError; -import com.mapbox.mapboxsdk.offline.OfflineRegionStatus; -import com.mapbox.mapboxsdk.offline.OfflineTilePyramidRegionDefinition; +import org.maplibre.android.geometry.LatLng; +import org.maplibre.android.geometry.LatLngBounds; +import org.maplibre.android.offline.OfflineManager; +import org.maplibre.android.offline.OfflineRegion; +import org.maplibre.android.offline.OfflineRegionDefinition; +import org.maplibre.android.offline.OfflineRegionError; +import org.maplibre.android.offline.OfflineRegionStatus; +import org.maplibre.android.offline.OfflineTilePyramidRegionDefinition; import io.flutter.plugin.common.MethodChannel; import java.util.ArrayList; import java.util.Arrays; @@ -121,15 +121,15 @@ public void onError(OfflineRegionError error) { @Override public void mapboxTileCountLimitExceeded(long limit) { - Log.e(TAG, "Mapbox tile count" + " limit exceeded: " + limit); + Log.e(TAG, "MapLibre tile count" + " limit exceeded: " + limit); // Reset downloading state _offlineRegion.setDownloadState(OfflineRegion.STATE_INACTIVE); isComplete.set(true); channelHandler.onError( "mapboxTileCountLimitExceeded", - "Mapbox tile count " + "limit " + "exceeded: " + limit, + "MapLibre tile count " + "limit " + "exceeded: " + limit, null); - // Mapbox even after crash + // MapLibre even after crash // and not downloading fully // region still keeps part // of it in database, so we diff --git a/android/src/main/java/com/mapbox/mapboxgl/SourcePropertyConverter.java b/android/src/main/java/org/maplibre/maplibregl/SourcePropertyConverter.java similarity index 91% rename from android/src/main/java/com/mapbox/mapboxgl/SourcePropertyConverter.java rename to android/src/main/java/org/maplibre/maplibregl/SourcePropertyConverter.java index 9840d43c5..de750dd04 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/SourcePropertyConverter.java +++ b/android/src/main/java/org/maplibre/maplibregl/SourcePropertyConverter.java @@ -1,19 +1,19 @@ -package com.mapbox.mapboxgl; +package org.maplibre.maplibregl; import android.net.Uri; import com.google.gson.Gson; -import com.mapbox.geojson.FeatureCollection; -import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.geometry.LatLngQuad; -import com.mapbox.mapboxsdk.maps.Style; -import com.mapbox.mapboxsdk.style.sources.GeoJsonOptions; -import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; -import com.mapbox.mapboxsdk.style.sources.ImageSource; -import com.mapbox.mapboxsdk.style.sources.RasterDemSource; -import com.mapbox.mapboxsdk.style.sources.RasterSource; -import com.mapbox.mapboxsdk.style.sources.Source; -import com.mapbox.mapboxsdk.style.sources.TileSet; -import com.mapbox.mapboxsdk.style.sources.VectorSource; +import org.maplibre.geojson.FeatureCollection; +import org.maplibre.android.geometry.LatLng; +import org.maplibre.android.geometry.LatLngQuad; +import org.maplibre.android.maps.Style; +import org.maplibre.android.style.sources.GeoJsonOptions; +import org.maplibre.android.style.sources.GeoJsonSource; +import org.maplibre.android.style.sources.ImageSource; +import org.maplibre.android.style.sources.RasterDemSource; +import org.maplibre.android.style.sources.RasterSource; +import org.maplibre.android.style.sources.Source; +import org.maplibre.android.style.sources.TileSet; +import org.maplibre.android.style.sources.VectorSource; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; diff --git a/android/src/main/java/com/mapbox/mapboxgl/setMapLanguage.kt b/android/src/main/java/org/maplibre/maplibregl/setMapLanguage.kt similarity index 68% rename from android/src/main/java/com/mapbox/mapboxgl/setMapLanguage.kt rename to android/src/main/java/org/maplibre/maplibregl/setMapLanguage.kt index 870967478..bfcd66038 100644 --- a/android/src/main/java/com/mapbox/mapboxgl/setMapLanguage.kt +++ b/android/src/main/java/org/maplibre/maplibregl/setMapLanguage.kt @@ -1,13 +1,13 @@ -@file:JvmName("MapboxMapUtils") +@file:JvmName("MapLibreMapUtils") -package com.mapbox.mapboxgl +package org.maplibre.maplibregl -import com.mapbox.mapboxsdk.maps.MapboxMap -import com.mapbox.mapboxsdk.style.expressions.Expression -import com.mapbox.mapboxsdk.style.layers.PropertyFactory -import com.mapbox.mapboxsdk.style.layers.SymbolLayer +import org.maplibre.android.maps.MapLibreMap +import org.maplibre.android.style.expressions.Expression +import org.maplibre.android.style.layers.PropertyFactory +import org.maplibre.android.style.layers.SymbolLayer -fun MapboxMap.setMapLanguage(language: String) { +fun MapLibreMap.setMapLanguage(language: String) { val layers = this.style?.layers ?: emptyList() val languageRegex = Regex("(name:[a-z]+)") diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index d1263a733..fde1c0db9 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -28,7 +28,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { namespace "com.mapbox.example" compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + ndkVersion "26.1.10909125" // flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 diff --git a/example/android/build.gradle b/example/android/build.gradle index 526488549..7392f0316 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' + classpath 'com.android.tools.build:gradle:8.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 3c472b99c..5d6560a4e 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip diff --git a/example/pubspec.lock b/example/pubspec.lock index 78c6c7d17..735bcefb1 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: e44ad5bbb3bbe88ae8809c2eb1682c099c2e13c471aed13a5b7e67572f7b57ae + sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 url: "https://pub.dev" source: hosted - version: "3.4.1" + version: "3.5.1" async: dependency: transitive description: @@ -45,18 +45,10 @@ packages: dependency: "direct main" description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" + version: "1.18.0" crypto: dependency: transitive description: @@ -69,18 +61,18 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" device_info_plus: dependency: "direct main" description: name: device_info_plus - sha256: "86add5ef97215562d2e090535b0a16f197902b10c369c558a100e74ea06e8659" + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" url: "https://pub.dev" source: hosted - version: "9.0.3" + version: "9.1.2" device_info_plus_platform_interface: dependency: transitive description: @@ -101,10 +93,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: @@ -140,10 +132,10 @@ packages: dependency: "direct main" description: name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.1" http_parser: dependency: transitive description: @@ -156,10 +148,10 @@ packages: dependency: transitive description: name: image - sha256: "6e703d5e2f8c63fb31a77753915c1ec8baebde8088844e0d29f71b8f0b108888" + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" url: "https://pub.dev" source: hosted - version: "4.1.0" + version: "4.1.7" js: dependency: transitive description: @@ -168,6 +160,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -179,28 +195,27 @@ packages: location: dependency: "direct main" description: - path: "packages/location" - ref: V4 - resolved-ref: "44745026a384c743cb5e64f94296303d9adbb237" - url: "https://github.com/781flyingdutchman/flutterlocation.git" - source: git - version: "4.4.1" + name: location + sha256: "06be54f682c9073cbfec3899eb9bc8ed90faa0e17735c9d9fa7fe426f5be1dd1" + url: "https://pub.dev" + source: hosted + version: "5.0.3" location_platform_interface: dependency: transitive description: name: location_platform_interface - sha256: "62eeaf1658e92e4459b727f55a3c328eccbac8ba043fa6d262ac5286ad48384c" + sha256: "8aa1d34eeecc979d7c9fe372931d84f6d2ebbd52226a54fe1620de6fdc0753b1" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "3.1.2" location_web: dependency: transitive description: name: location_web - sha256: "6c08c408a040534c0269c4ff9fe17eebb5a36dea16512fbaf116b9c8bc21545b" + sha256: ec484c66e8a4ff1ee5d044c203f4b6b71e3a0556a97b739a5bc9616de672412b url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "4.2.0" maplibre_gl: dependency: "direct main" description: @@ -226,58 +241,58 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.11.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_provider: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.3" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1" + sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.4" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -290,10 +305,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -306,34 +321,26 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.2" platform: dependency: "direct main" description: name: platform - sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.6" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" + version: "2.1.8" sky_engine: dependency: transitive description: flutter @@ -351,18 +358,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -383,10 +390,10 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.1" typed_data: dependency: transitive description: @@ -403,46 +410,54 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" web: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.5.1" win32: dependency: transitive description: name: win32 - sha256: c97defd418eef4ec88c0d1652cdce84b9f7b63dd7198e266d06ac1710d527067 + sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" url: "https://pub.dev" source: hosted - version: "5.0.8" + version: "5.5.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: e4506d60b7244251bc59df15656a3093501c37fb5af02105a944d73eb95be4c9 + sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.3" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.5.0" sdks: - dart: ">=3.1.0-185.0.dev <4.0.0" - flutter: ">=3.10.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.16.6" diff --git a/pubspec.yaml b/pubspec.yaml index baba8ee4a..f89de5239 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,8 +27,8 @@ flutter: plugin: platforms: android: - package: com.mapbox.mapboxgl - pluginClass: MapboxMapsPlugin + package: org.maplibre.maplibregl + pluginClass: MapLibreMapsPlugin ios: pluginClass: MapboxMapsPlugin web: