upgraded Flutter to stable v3.13.7

This commit is contained in:
Thibault Deckers 2023-10-14 01:36:43 +02:00
parent 817bc4bc1e
commit 4372e9e0f6
15 changed files with 147 additions and 101 deletions

@ -1 +1 @@
Subproject commit ead455963c12b453cdb2358cad34969c76daf180
Subproject commit 2f708eb8396e362e280fac22cf171c2cb467343c

View file

@ -13,7 +13,7 @@ All notable changes to this project will be documented in this file.
- mosaic layout: clamp ratio to 32/9
- Video: disable subtitles by default
- Map: Stamen Watercolor layer (no longer served for free by Stamen) now served by Smithsonian Institution
- upgraded Flutter to stable v3.13.6
- upgraded Flutter to stable v3.13.7
### Removed

View file

@ -132,7 +132,7 @@ class _EntryLeafletMapState<T> extends State<EntryLeafletMap<T>> with TickerProv
final latLng = LatLng(geoEntry.latitude!, geoEntry.longitude!);
return Marker(
point: latLng,
builder: (context) => GestureDetector(
child: GestureDetector(
onTap: () => widget.onMarkerTap?.call(geoEntry),
// marker tap handling prevents the default handling of focal zoom on double tap,
// so we reimplement the double tap gesture here
@ -142,39 +142,35 @@ class _EntryLeafletMapState<T> extends State<EntryLeafletMap<T>> with TickerProv
),
width: markerSize.width,
height: markerSize.height,
anchorPos: AnchorPos.align(AnchorAlign.top),
alignment: Alignment.topCenter,
);
}).toList();
return FlutterMap(
options: MapOptions(
center: bounds.projectedCenter,
zoom: bounds.zoom,
rotation: bounds.rotation,
initialCenter: bounds.projectedCenter,
initialZoom: bounds.zoom,
initialRotation: bounds.rotation,
minZoom: widget.minZoom,
maxZoom: widget.maxZoom,
backgroundColor: Colors.transparent,
interactionOptions: InteractionOptions(
// TODO TLAD [map] as of flutter_map v0.14.0, `doubleTapZoom` does not move when zoom is already maximal
// this could be worked around with https://github.com/fleaflet/flutter_map/pull/960
interactiveFlags: interactive ? InteractiveFlag.all : InteractiveFlag.none,
flags: interactive ? InteractiveFlag.all : InteractiveFlag.none,
// prevent triggering multiple gestures at once (e.g. rotating a bit when mostly zooming)
enableMultiFingerGestureRace: true,
),
onTap: (tapPosition, point) => widget.onMapTap?.call(point),
),
mapController: _leafletMapController,
nonRotatedChildren: [
ScaleLayerWidget(
options: ScaleLayerOptions(
unitSystem: settings.unitSystem,
),
),
],
children: [
_buildMapLayer(),
if (widget.overlayEntry != null) _buildOverlayImageLayer(),
MarkerLayer(
markers: markers,
rotate: true,
rotateAlignment: Alignment.bottomCenter,
alignment: Alignment.bottomCenter,
),
ValueListenableBuilder<LatLng?>(
valueListenable: widget.dotLocationNotifier ?? ValueNotifier(null),
@ -183,13 +179,18 @@ class _EntryLeafletMapState<T> extends State<EntryLeafletMap<T>> with TickerProv
if (dotLocation != null)
Marker(
point: dotLocation,
builder: (context) => const DotMarker(),
child: const DotMarker(),
width: dotMarkerSize.width,
height: dotMarkerSize.height,
)
],
),
),
ScaleLayerWidget(
options: ScaleLayerOptions(
unitSystem: settings.unitSystem,
),
),
],
);
}
@ -242,19 +243,18 @@ class _EntryLeafletMapState<T> extends State<EntryLeafletMap<T>> with TickerProv
}
void _updateVisibleRegion() {
final bounds = _leafletMapController.bounds;
if (bounds != null) {
final camera = _leafletMapController.camera;
final bounds = camera.visibleBounds;
boundsNotifier.value = ZoomedBounds(
sw: bounds.southWest,
ne: bounds.northEast,
zoom: _leafletMapController.zoom,
rotation: _leafletMapController.rotation,
zoom: camera.zoom,
rotation: camera.rotation,
);
}
}
Future<void> _resetRotation() async {
final rotation = _leafletMapController.rotation;
final rotation = _leafletMapController.camera.rotation;
// prevent multiple turns
final begin = (rotation.abs() % 360) * rotation.sign;
final rotationTween = Tween<double>(begin: begin, end: 0);
@ -262,19 +262,21 @@ class _EntryLeafletMapState<T> extends State<EntryLeafletMap<T>> with TickerProv
}
Future<void> _zoomBy(double amount, {LatLng? focalPoint}) async {
final endZoom = (_leafletMapController.zoom + amount).clamp(widget.minZoom, widget.maxZoom);
final camera = _leafletMapController.camera;
final endZoom = (camera.zoom + amount).clamp(widget.minZoom, widget.maxZoom);
widget.onUserZoomChange?.call(endZoom);
final center = _leafletMapController.center;
final center = camera.center;
final centerTween = LatLngTween(begin: center, end: focalPoint ?? center);
final zoomTween = Tween<double>(begin: _leafletMapController.zoom, end: endZoom);
final zoomTween = Tween<double>(begin: camera.zoom, end: endZoom);
await _animateCamera((animation) => _leafletMapController.move(centerTween.evaluate(animation)!, zoomTween.evaluate(animation)));
}
Future<void> _moveTo(LatLng point) async {
final centerTween = LatLngTween(begin: _leafletMapController.center, end: point);
await _animateCamera((animation) => _leafletMapController.move(centerTween.evaluate(animation)!, _leafletMapController.zoom));
final camera = _leafletMapController.camera;
final centerTween = LatLngTween(begin: camera.center, end: point);
await _animateCamera((animation) => _leafletMapController.move(centerTween.evaluate(animation)!, camera.zoom));
}
Future<void> _animateCamera(void Function(Animation<double> animation) animate) async {

View file

@ -3,7 +3,7 @@ import 'dart:math';
import 'package:aves/widgets/common/basic/text/outlined.dart';
import 'package:aves_model/aves_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_map/plugin_api.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong2/latlong.dart';
class ScaleLayerOptions {
@ -65,7 +65,7 @@ class ScaleLayerWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
final map = FlutterMapState.maybeOf(context)!;
final map = MapCamera.of(context);
final center = map.center;
final latitude = center.latitude.abs();
final level = map.zoom.round() +

View file

@ -2,8 +2,6 @@ import 'package:aves/model/device.dart';
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
const _tileLayerBackgroundColor = Colors.transparent;
class OSMHotLayer extends StatelessWidget {
const OSMHotLayer({super.key});
@ -12,7 +10,6 @@ class OSMHotLayer extends StatelessWidget {
return TileLayer(
urlTemplate: 'https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
subdomains: const ['a', 'b', 'c'],
backgroundColor: _tileLayerBackgroundColor,
retinaMode: MediaQuery.devicePixelRatioOf(context) > 1,
userAgentPackageName: device.userAgent,
);
@ -27,7 +24,6 @@ class StamenWatercolorLayer extends StatelessWidget {
return TileLayer(
urlTemplate: 'https://watercolormaps.collection.cooperhewitt.org/tile/watercolor/{z}/{x}/{y}.jpg',
subdomains: const ['a', 'b', 'c', 'd'],
backgroundColor: _tileLayerBackgroundColor,
retinaMode: MediaQuery.devicePixelRatioOf(context) > 1,
userAgentPackageName: device.userAgent,
);

View file

@ -81,10 +81,10 @@ packages:
dependency: "direct main"
description:
name: flutter_map
sha256: "5286f72f87deb132daa1489442d6cc46e986fc105cb727d9ae1b602b35b1d1f3"
sha256: e625957146c7d2e847da2cdefd893d6f5315ced6ee5228d2c05fec760cab3ad7
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "6.0.0"
http:
dependency: transitive
description:
@ -133,6 +133,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
logger:
dependency: transitive
description:
name: logger
sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
url: "https://pub.dev"
source: hosted
version: "2.0.2+1"
material_color_utilities:
dependency: transitive
description:

View file

@ -5,10 +5,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
sha256: "2d8e8e123ca3675625917f535fcc0d3a50092eef44334168f9b18adc050d4c6e"
sha256: d84d98f1992976775f83083523a34c5d22fea191eec3abb2bd09537fb623c2e0
url: "https://pub.dev"
source: hosted
version: "1.3.6"
version: "1.3.7"
async:
dependency: transitive
description:
@ -68,10 +68,10 @@ packages:
dependency: "direct main"
description:
name: firebase_core
sha256: "675c209c94a1817649137cbd113fc4c9ae85e48d03dd578629abbec6d8a4d93d"
sha256: "95580fa07c8ca3072a2bb1fecd792616a33f8683477d25b7d29d3a6a399e6ece"
url: "https://pub.dev"
source: hosted
version: "2.16.0"
version: "2.17.0"
firebase_core_platform_interface:
dependency: transitive
description:
@ -92,18 +92,18 @@ packages:
dependency: "direct main"
description:
name: firebase_crashlytics
sha256: f4a4b046606e306b589bef5c1e268afbfab2e5fddde6de7e4340400465c8d231
sha256: "833cf891d10e5e819a2034048ff7e8882bcc0b51055c0e17f5fe3f3c3c177a9d"
url: "https://pub.dev"
source: hosted
version: "3.3.6"
version: "3.3.7"
firebase_crashlytics_platform_interface:
dependency: transitive
description:
name: firebase_crashlytics_platform_interface
sha256: "8666b935e29b143297e2923dc8112663854f828d10954a92b8215e7249b55d59"
sha256: dfdf1172f35fc0b0132bc5ec815aed52c07643ee56732e6807ca7dc12f7fce86
url: "https://pub.dev"
source: hosted
version: "3.6.6"
version: "3.6.7"
flutter:
dependency: "direct main"
description: flutter

View file

@ -88,10 +88,10 @@ packages:
dependency: transitive
description:
name: flutter_map
sha256: "5286f72f87deb132daa1489442d6cc46e986fc105cb727d9ae1b602b35b1d1f3"
sha256: e625957146c7d2e847da2cdefd893d6f5315ced6ee5228d2c05fec760cab3ad7
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "6.0.0"
http:
dependency: transitive
description:
@ -140,6 +140,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
logger:
dependency: transitive
description:
name: logger
sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
url: "https://pub.dev"
source: hosted
version: "2.0.2+1"
material_color_utilities:
dependency: transitive
description:

View file

@ -135,10 +135,10 @@ packages:
dependency: transitive
description:
name: flutter_map
sha256: "5286f72f87deb132daa1489442d6cc46e986fc105cb727d9ae1b602b35b1d1f3"
sha256: e625957146c7d2e847da2cdefd893d6f5315ced6ee5228d2c05fec760cab3ad7
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "6.0.0"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
@ -204,10 +204,10 @@ packages:
dependency: transitive
description:
name: google_maps_flutter_ios
sha256: "2a595c9789070786c654e9772ec0d1bb759ae37d2dd776291af5398531274e06"
sha256: "2aa28eb9b9d5dfdce6932a7b7f096430bf83a1a09b4e21e81939351f407c787f"
url: "https://pub.dev"
source: hosted
version: "2.3.1"
version: "2.3.2"
google_maps_flutter_platform_interface:
dependency: "direct main"
description:
@ -296,6 +296,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
logger:
dependency: transitive
description:
name: logger
sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
url: "https://pub.dev"
source: hosted
version: "2.0.2+1"
material_color_utilities:
dependency: transitive
description:

View file

@ -102,10 +102,10 @@ packages:
dependency: transitive
description:
name: flutter_map
sha256: "5286f72f87deb132daa1489442d6cc46e986fc105cb727d9ae1b602b35b1d1f3"
sha256: e625957146c7d2e847da2cdefd893d6f5315ced6ee5228d2c05fec760cab3ad7
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "6.0.0"
http:
dependency: transitive
description:
@ -172,6 +172,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
logger:
dependency: transitive
description:
name: logger
sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
url: "https://pub.dev"
source: hosted
version: "2.0.2+1"
material_color_utilities:
dependency: transitive
description:

View file

@ -95,10 +95,10 @@ packages:
dependency: transitive
description:
name: flutter_map
sha256: "5286f72f87deb132daa1489442d6cc46e986fc105cb727d9ae1b602b35b1d1f3"
sha256: e625957146c7d2e847da2cdefd893d6f5315ced6ee5228d2c05fec760cab3ad7
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "6.0.0"
http:
dependency: transitive
description:
@ -147,6 +147,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
logger:
dependency: transitive
description:
name: logger
sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
url: "https://pub.dev"
source: hosted
version: "2.0.2+1"
material_color_utilities:
dependency: transitive
description:

View file

@ -5,10 +5,10 @@ packages:
dependency: transitive
description:
name: archive
sha256: "06a96f1249f38a00435b3b0c9a3246d934d7dbc8183fc7c9e56989860edb99d4"
sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03"
url: "https://pub.dev"
source: hosted
version: "3.4.4"
version: "3.4.6"
args:
dependency: transitive
description:
@ -409,10 +409,10 @@ packages:
dependency: transitive
description:
name: wakelock_plus
sha256: aac3f3258f01781ec9212df94eecef1eb9ba9350e106728def405baa096ba413
sha256: "268e56b9c63f850406f54e9acb2a7d2ddf83c26c8ff9e7a125a96c3a513bf65f"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.1.2"
wakelock_plus_platform_interface:
dependency: transitive
description:

View file

@ -13,10 +13,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
sha256: "2d8e8e123ca3675625917f535fcc0d3a50092eef44334168f9b18adc050d4c6e"
sha256: d84d98f1992976775f83083523a34c5d22fea191eec3abb2bd09537fb623c2e0
url: "https://pub.dev"
source: hosted
version: "1.3.6"
version: "1.3.7"
analyzer:
dependency: transitive
description:
@ -29,10 +29,10 @@ packages:
dependency: transitive
description:
name: archive
sha256: "06a96f1249f38a00435b3b0c9a3246d934d7dbc8183fc7c9e56989860edb99d4"
sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03"
url: "https://pub.dev"
source: hosted
version: "3.4.4"
version: "3.4.6"
args:
dependency: transitive
description:
@ -210,10 +210,10 @@ packages:
dependency: "direct main"
description:
name: connectivity_plus
sha256: "77a180d6938f78ca7d2382d2240eb626c0f6a735d0bfdce227d8ffb80f95c48b"
sha256: "94d51c6f1299133a2baa4c5c3d2c11ec7d7fb4768dee5c52a56f7d7522fcf70e"
url: "https://pub.dev"
source: hosted
version: "4.0.2"
version: "5.0.0"
connectivity_plus_platform_interface:
dependency: transitive
description:
@ -380,10 +380,10 @@ packages:
dependency: transitive
description:
name: firebase_core
sha256: "675c209c94a1817649137cbd113fc4c9ae85e48d03dd578629abbec6d8a4d93d"
sha256: "95580fa07c8ca3072a2bb1fecd792616a33f8683477d25b7d29d3a6a399e6ece"
url: "https://pub.dev"
source: hosted
version: "2.16.0"
version: "2.17.0"
firebase_core_platform_interface:
dependency: transitive
description:
@ -404,18 +404,18 @@ packages:
dependency: transitive
description:
name: firebase_crashlytics
sha256: f4a4b046606e306b589bef5c1e268afbfab2e5fddde6de7e4340400465c8d231
sha256: "833cf891d10e5e819a2034048ff7e8882bcc0b51055c0e17f5fe3f3c3c177a9d"
url: "https://pub.dev"
source: hosted
version: "3.3.6"
version: "3.3.7"
firebase_crashlytics_platform_interface:
dependency: transitive
description:
name: firebase_crashlytics_platform_interface
sha256: "8666b935e29b143297e2923dc8112663854f828d10954a92b8215e7249b55d59"
sha256: dfdf1172f35fc0b0132bc5ec815aed52c07643ee56732e6807ca7dc12f7fce86
url: "https://pub.dev"
source: hosted
version: "3.6.6"
version: "3.6.7"
flex_color_picker:
dependency: "direct main"
description:
@ -508,18 +508,18 @@ packages:
dependency: "direct main"
description:
name: flutter_map
sha256: "5286f72f87deb132daa1489442d6cc46e986fc105cb727d9ae1b602b35b1d1f3"
sha256: e625957146c7d2e847da2cdefd893d6f5315ced6ee5228d2c05fec760cab3ad7
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "6.0.0"
flutter_markdown:
dependency: "direct main"
description:
name: flutter_markdown
sha256: a10979814c5f4ddbe2b6143fba25d927599e21e3ba65b3862995960606fae78f
sha256: "8afc9a6aa6d8e8063523192ba837149dbf3d377a37c0b0fc579149a1fbd4a619"
url: "https://pub.dev"
source: hosted
version: "0.6.17+3"
version: "0.6.18"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
@ -627,10 +627,10 @@ packages:
dependency: transitive
description:
name: google_maps_flutter_ios
sha256: "2a595c9789070786c654e9772ec0d1bb759ae37d2dd776291af5398531274e06"
sha256: "2aa28eb9b9d5dfdce6932a7b7f096430bf83a1a09b4e21e81939351f407c787f"
url: "https://pub.dev"
source: hosted
version: "2.3.1"
version: "2.3.2"
google_maps_flutter_platform_interface:
dependency: transitive
description:
@ -791,6 +791,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.10"
logger:
dependency: transitive
description:
name: logger
sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac"
url: "https://pub.dev"
source: hosted
version: "2.0.2+1"
logging:
dependency: transitive
description:
@ -1037,18 +1045,18 @@ packages:
dependency: "direct main"
description:
name: permission_handler
sha256: ad65ba9af42a3d067203641de3fd9f547ded1410bad3b84400c2b4899faede70
sha256: "284a66179cabdf942f838543e10413246f06424d960c92ba95c84439154fcac8"
url: "https://pub.dev"
source: hosted
version: "11.0.0"
version: "11.0.1"
permission_handler_android:
dependency: transitive
description:
name: permission_handler_android
sha256: ace7d15a3d1a4a0b91c041d01e5405df221edb9de9116525efc773c74e6fc790
sha256: f9fddd3b46109bd69ff3f9efa5006d2d309b7aec0f3c1c5637a60a2d5659e76e
url: "https://pub.dev"
source: hosted
version: "11.0.5"
version: "11.1.0"
permission_handler_apple:
dependency: transitive
description:
@ -1061,10 +1069,10 @@ packages:
dependency: transitive
description:
name: permission_handler_platform_interface
sha256: f2343e9fa9c22ae4fd92d4732755bfe452214e7189afcc097380950cf567b4b2
sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4"
url: "https://pub.dev"
source: hosted
version: "3.11.5"
version: "3.12.0"
permission_handler_windows:
dependency: transitive
description:
@ -1245,10 +1253,10 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: b7f41bad7e521d205998772545de63ff4e6c97714775902c199353f8bf1511ac
sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
url: "https://pub.dev"
source: hosted
version: "2.2.1"
version: "2.2.2"
shared_preferences_android:
dependency: transitive
description:
@ -1269,10 +1277,10 @@ packages:
dependency: transitive
description:
name: shared_preferences_linux
sha256: c2eb5bf57a2fe9ad6988121609e47d3e07bb3bdca5b6f8444e4cf302428a128a
sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
url: "https://pub.dev"
source: hosted
version: "2.3.1"
version: "2.3.2"
shared_preferences_platform_interface:
dependency: "direct dev"
description:
@ -1293,10 +1301,10 @@ packages:
dependency: transitive
description:
name: shared_preferences_windows
sha256: f763a101313bd3be87edffe0560037500967de9c394a714cd598d945517f694f
sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
url: "https://pub.dev"
source: hosted
version: "2.3.1"
version: "2.3.2"
shelf:
dependency: transitive
description:
@ -1619,10 +1627,10 @@ packages:
dependency: transitive
description:
name: wakelock_plus
sha256: aac3f3258f01781ec9212df94eecef1eb9ba9350e106728def405baa096ba413
sha256: "268e56b9c63f850406f54e9acb2a7d2ddf83c26c8ff9e7a125a96c3a513bf65f"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.1.2"
wakelock_plus_platform_interface:
dependency: transitive
description:
@ -1721,4 +1729,4 @@ packages:
version: "3.1.2"
sdks:
dart: ">=3.1.0 <4.0.0"
flutter: ">=3.13.6"
flutter: ">=3.13.7"

View file

@ -13,7 +13,7 @@ publish_to: none
environment:
# this project bundles Flutter SDK via `flutter_wrapper`
# cf https://github.com/passsy/flutter_wrapper
flutter: 3.13.6
flutter: 3.13.7
sdk: ">=3.0.0 <4.0.0"
# use `scripts/apply_flavor_{flavor}.sh` to set the right dependencies for the flavor

File diff suppressed because one or more lines are too long