This commit is contained in:
Thibault Deckers 2022-08-31 10:20:05 +02:00
parent 5b1e36d823
commit 5ce66fbd8a
2 changed files with 18 additions and 2 deletions

View file

@ -241,5 +241,9 @@ This change eventually prevents building the app with Flutter v3.0.2.
<meta-data <meta-data
android:name="flutterEmbedding" android:name="flutterEmbedding"
android:value="2" /> android:value="2" />
<!-- as of Flutter v3.3.0, background blur & icon shading fail with Impeller -->
<meta-data
android:name="io.flutter.embedding.android.EnableImpeller"
android:value="false" />
</application> </application>
</manifest> </manifest>

View file

@ -6,7 +6,8 @@ import 'package:aves_services_platform/src/map.dart';
import 'package:device_info_plus/device_info_plus.dart'; import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:google_api_availability/google_api_availability.dart'; import 'package:google_api_availability/google_api_availability.dart';
import 'package:latlong2/latlong.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:latlong2/latlong.dart' as ll;
class PlatformMobileServices extends MobileServices { class PlatformMobileServices extends MobileServices {
bool _isAvailable = false; bool _isAvailable = false;
@ -24,6 +25,17 @@ class PlatformMobileServices extends MobileServices {
// as of google_maps_flutter v2.1.5, Flutter v3.0.1 makes the map hide overlay widgets on API <=22 // as of google_maps_flutter v2.1.5, Flutter v3.0.1 makes the map hide overlay widgets on API <=22
final androidInfo = await DeviceInfoPlugin().androidInfo; final androidInfo = await DeviceInfoPlugin().androidInfo;
_canRenderMaps = (androidInfo.version.sdkInt ?? 0) >= 21; _canRenderMaps = (androidInfo.version.sdkInt ?? 0) >= 21;
if (_canRenderMaps) {
// as of google_maps_flutter_android v2.2.0,
// setting `useAndroidViewSurface` to true:
// + issue #241 exists but workaround is efficient
// + pan perf is OK when overlay is disabled
// - pan perf is bad when overlay is enabled
// setting `useAndroidViewSurface` to false:
// - issue #241 exists and workaround is inefficient
// + pan perf is OK when overlay is disabled or enabled
AndroidGoogleMapsFlutter.useAndroidViewSurface = false;
}
} }
@override @override
@ -52,7 +64,7 @@ class PlatformMobileServices extends MobileServices {
required MarkerClusterBuilder<T> markerClusterBuilder, required MarkerClusterBuilder<T> markerClusterBuilder,
required MarkerWidgetBuilder<T> markerWidgetBuilder, required MarkerWidgetBuilder<T> markerWidgetBuilder,
required MarkerImageReadyChecker<T> markerImageReadyChecker, required MarkerImageReadyChecker<T> markerImageReadyChecker,
required ValueNotifier<LatLng?>? dotLocationNotifier, required ValueNotifier<ll.LatLng?>? dotLocationNotifier,
required ValueNotifier<double>? overlayOpacityNotifier, required ValueNotifier<double>? overlayOpacityNotifier,
required MapOverlay? overlayEntry, required MapOverlay? overlayEntry,
required UserZoomChangeCallback? onUserZoomChange, required UserZoomChangeCallback? onUserZoomChange,