From 4aa77752c42f88087e64a50e397a66b53c8c33eb Mon Sep 17 00:00:00 2001 From: Stefano Falda Date: Wed, 17 Mar 2021 18:09:31 +0100 Subject: [PATCH 1/3] Null safety broken for method isMarkerInfoWindowShown #78426 The method isMarkerInfoWindowShown in file method_channel_google_maps_flutter.dart isn't working with null safety because the channel(mapId).invokeMethod has an optional return type, so forcing it to bool doesn't work. In the original code a cast has been added to silence the compiler warnings but there is a runtime error when the method is invoked because the signature invokeMethod should be invokeMethod. --- .../method_channel/method_channel_google_maps_flutter.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart index 3d16127ab7a9..099922b87834 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart @@ -414,10 +414,11 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { Future isMarkerInfoWindowShown( MarkerId markerId, { required int mapId, - }) { + }) async { assert(markerId != null); - return channel(mapId).invokeMethod('markers#isInfoWindowShown', - {'markerId': markerId.value}) as Future; + bool? res = await channel(mapId).invokeMethod('markers#isInfoWindowShown', + {'markerId': markerId.value}) ; + return res!; } @override From 90247d53b25fae1f60e00e3ae7203e38860be683 Mon Sep 17 00:00:00 2001 From: Stefano Falda Date: Thu, 18 Mar 2021 09:40:32 +0100 Subject: [PATCH 2/3] Update method_channel_google_maps_flutter.dart Code updated with suggested changes --- .../method_channel/method_channel_google_maps_flutter.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart index 099922b87834..54dce400691b 100644 --- a/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart +++ b/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/method_channel/method_channel_google_maps_flutter.dart @@ -416,9 +416,8 @@ class MethodChannelGoogleMapsFlutter extends GoogleMapsFlutterPlatform { required int mapId, }) async { assert(markerId != null); - bool? res = await channel(mapId).invokeMethod('markers#isInfoWindowShown', - {'markerId': markerId.value}) ; - return res!; + return (await channel(mapId).invokeMethod('markers#isInfoWindowShown', + {'markerId': markerId.value}))! ; } @override From 34a2755e7d6d93e41b91919cebf9aeb8615b33f4 Mon Sep 17 00:00:00 2001 From: "stefano.falda@gmail.com" Date: Mon, 22 Mar 2021 09:45:57 +0100 Subject: [PATCH 3/3] Updated version and changelog --- .../google_maps_flutter/google_maps_flutter/CHANGELOG.md | 5 +++++ .../google_maps_flutter/google_maps_flutter/pubspec.yaml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md index eb16024575bb..3d962dd42c65 100644 --- a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.0.2 + +* Fix null-safety annotation when calling isMarkerInfoWindowShown, because the code generated by + the migration tool gave an error relative to the method signature. + ## 2.0.1 * Update platform_plugin_interface version requirement. diff --git a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml index d30c9d030de6..e37faebbb42c 100644 --- a/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter/pubspec.yaml @@ -1,7 +1,7 @@ name: google_maps_flutter description: A Flutter plugin for integrating Google Maps in iOS and Android applications. homepage: https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter/google_maps_flutter -version: 2.0.1 +version: 2.0.2 dependencies: flutter: