Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 630a200

Browse files
[google_maps_flutter] Update Android view selection (flutter#6319)
1 parent 5f54809 commit 630a200

File tree

4 files changed

+43
-5
lines changed

4 files changed

+43
-5
lines changed

packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
## NEXT
1+
## 2.2.0
22

3+
* Updates `useAndroidViewSurface` to require Hybrid Composition, making the
4+
selection work again in Flutter 3.0+. Earlier versions of Flutter are
5+
no longer supported.
36
* Fixes violations of new analysis option use_named_constants.
47
* Fixes avoid_redundant_argument_values lint warnings and minor typos.
58

packages/google_maps_flutter/google_maps_flutter_android/example/integration_test/google_maps_test.dart

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'dart:ui' as ui;
99

1010
import 'package:flutter/material.dart';
1111
import 'package:flutter_test/flutter_test.dart';
12+
import 'package:google_maps_flutter_android/google_maps_flutter_android.dart';
1213
import 'package:google_maps_flutter_example/example_google_map.dart';
1314
import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart';
1415
import 'package:integration_test/integration_test.dart';
@@ -22,6 +23,40 @@ void main() {
2223
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
2324
GoogleMapsFlutterPlatform.instance.enableDebugInspection();
2425

26+
testWidgets('uses surface view', (WidgetTester tester) async {
27+
final GoogleMapsFlutterAndroid instance =
28+
GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid;
29+
final bool previousUseAndroidViewSurfaceValue =
30+
instance.useAndroidViewSurface;
31+
instance.useAndroidViewSurface = true;
32+
33+
final Key key = GlobalKey();
34+
final Completer<int> mapIdCompleter = Completer<int>();
35+
await tester.pumpWidget(Directionality(
36+
textDirection: TextDirection.ltr,
37+
child: ExampleGoogleMap(
38+
key: key,
39+
initialCameraPosition: _kInitialCameraPosition,
40+
compassEnabled: false,
41+
onMapCreated: (ExampleGoogleMapController controller) {
42+
mapIdCompleter.complete(controller.mapId);
43+
},
44+
),
45+
));
46+
47+
await mapIdCompleter.future;
48+
49+
// Wait for the placeholder to be replaced by the actual view.
50+
while (!tester.any(find.byType(AndroidViewSurface)) &&
51+
!tester.any(find.byType(AndroidView))) {
52+
await tester.pump();
53+
}
54+
55+
instance.useAndroidViewSurface = previousUseAndroidViewSurfaceValue;
56+
57+
expect(tester.any(find.byType(AndroidViewSurface)), true);
58+
});
59+
2560
testWidgets('testCompassToggle', (WidgetTester tester) async {
2661
final Key key = GlobalKey();
2762
final Completer<int> mapIdCompleter = Completer<int>();

packages/google_maps_flutter/google_maps_flutter_android/lib/src/google_maps_flutter_android.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -518,8 +518,8 @@ class GoogleMapsFlutterAndroid extends GoogleMapsFlutterPlatform {
518518
);
519519
},
520520
onCreatePlatformView: (PlatformViewCreationParams params) {
521-
final SurfaceAndroidViewController controller =
522-
PlatformViewsService.initSurfaceAndroidView(
521+
final AndroidViewController controller =
522+
PlatformViewsService.initExpensiveAndroidView(
523523
id: params.id,
524524
viewType: viewType,
525525
layoutDirection: widgetConfiguration.textDirection,

packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ name: google_maps_flutter_android
22
description: Android implementation of the google_maps_flutter plugin.
33
repository: https://github.com/flutter/plugins/tree/main/packages/google_maps_flutter/google_maps_flutter_android
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22
5-
version: 2.1.10
5+
version: 2.2.0
66

77
environment:
88
sdk: ">=2.14.0 <3.0.0"
9-
flutter: ">=2.8.0"
9+
flutter: ">=3.0.0"
1010

1111
flutter:
1212
plugin:

0 commit comments

Comments
 (0)