Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit f15a800

Browse files
authored
[google_maps_flutter] Android Code Inspection and Clean up (#3112)
* Android Code Inspection and Clean up * Android Code Inspection and Clean up * Android Code Inspection and Clean up * Android Code Inspection and Clean up * Android Code Inspection and Clean up * Android Code Inspection and Clean up * Import PluginRegistry * Import PluginRegistry * Update GoogleMapController.java * google_maps_flutter * Update build.gradle * Update Convert.java * Update Convert.java Add TODO comment * Update Convert.java
1 parent e4a0642 commit f15a800

File tree

4 files changed

+56
-32
lines changed

4 files changed

+56
-32
lines changed

packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.7
2+
3+
* Android: Handle deprecation & unchecked warning as error.
4+
15
## 1.0.6
26

37
* Update Dart SDK constraint in example.

packages/google_maps_flutter/google_maps_flutter/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
/** Conversions between JSON-like values and GoogleMaps data types. */
3434
class Convert {
3535

36+
// TODO(hamdikahloun): FlutterMain has been deprecated and should be replaced with FlutterLoader
37+
// when it's available in Stable channel: https://github.com/flutter/flutter/issues/70923.
38+
@SuppressWarnings("deprecation")
3639
private static BitmapDescriptor toBitmapDescriptor(Object o) {
3740
final List<?> data = toList(o);
3841
switch (toString(data.get(0))) {
@@ -207,8 +210,9 @@ static LatLng toLatLng(Object o) {
207210
}
208211

209212
static Point toPoint(Object o) {
210-
Map<String, Integer> screenCoordinate = (Map<String, Integer>) o;
211-
return new Point(screenCoordinate.get("x"), screenCoordinate.get("y"));
213+
Object x = toMap(o).get("x");
214+
Object y = toMap(o).get("y");
215+
return new Point((int) x, (int) y);
212216
}
213217

214218
static Map<String, Integer> pointToJson(Point point) {
@@ -234,6 +238,18 @@ private static List<?> toList(Object o) {
234238
return (Map<?, ?>) o;
235239
}
236240

241+
private static Map<String, Object> toObjectMap(Object o) {
242+
Map<String, Object> hashMap = new HashMap<>();
243+
Map<?, ?> map = (Map<?, ?>) o;
244+
for (Object key : map.keySet()) {
245+
Object object = map.get(key);
246+
if (object != null) {
247+
hashMap.put((String) key, object);
248+
}
249+
}
250+
return hashMap;
251+
}
252+
237253
private static float toFractionalPixels(Object o, float density) {
238254
return toFloat(o) * density;
239255
}
@@ -377,7 +393,7 @@ static String interpretMarkerOptions(Object o, MarkerOptionsSink sink) {
377393

378394
final Object infoWindow = data.get("infoWindow");
379395
if (infoWindow != null) {
380-
interpretInfoWindowOptions(sink, (Map<String, Object>) infoWindow);
396+
interpretInfoWindowOptions(sink, toObjectMap(infoWindow));
381397
}
382398
final Object position = data.get("position");
383399
if (position != null) {

packages/google_maps_flutter/google_maps_flutter/android/src/main/java/io/flutter/plugins/googlemaps/GoogleMapController.java

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,12 @@ public void onSnapshotReady(Bitmap bitmap) {
239239
}
240240
case "markers#update":
241241
{
242-
Object markersToAdd = call.argument("markersToAdd");
243-
markersController.addMarkers((List<Object>) markersToAdd);
244-
Object markersToChange = call.argument("markersToChange");
245-
markersController.changeMarkers((List<Object>) markersToChange);
246-
Object markerIdsToRemove = call.argument("markerIdsToRemove");
247-
markersController.removeMarkers((List<Object>) markerIdsToRemove);
242+
List<Object> markersToAdd = call.argument("markersToAdd");
243+
markersController.addMarkers(markersToAdd);
244+
List<Object> markersToChange = call.argument("markersToChange");
245+
markersController.changeMarkers(markersToChange);
246+
List<Object> markerIdsToRemove = call.argument("markerIdsToRemove");
247+
markersController.removeMarkers(markerIdsToRemove);
248248
result.success(null);
249249
break;
250250
}
@@ -268,34 +268,34 @@ public void onSnapshotReady(Bitmap bitmap) {
268268
}
269269
case "polygons#update":
270270
{
271-
Object polygonsToAdd = call.argument("polygonsToAdd");
272-
polygonsController.addPolygons((List<Object>) polygonsToAdd);
273-
Object polygonsToChange = call.argument("polygonsToChange");
274-
polygonsController.changePolygons((List<Object>) polygonsToChange);
275-
Object polygonIdsToRemove = call.argument("polygonIdsToRemove");
276-
polygonsController.removePolygons((List<Object>) polygonIdsToRemove);
271+
List<Object> polygonsToAdd = call.argument("polygonsToAdd");
272+
polygonsController.addPolygons(polygonsToAdd);
273+
List<Object> polygonsToChange = call.argument("polygonsToChange");
274+
polygonsController.changePolygons(polygonsToChange);
275+
List<Object> polygonIdsToRemove = call.argument("polygonIdsToRemove");
276+
polygonsController.removePolygons(polygonIdsToRemove);
277277
result.success(null);
278278
break;
279279
}
280280
case "polylines#update":
281281
{
282-
Object polylinesToAdd = call.argument("polylinesToAdd");
283-
polylinesController.addPolylines((List<Object>) polylinesToAdd);
284-
Object polylinesToChange = call.argument("polylinesToChange");
285-
polylinesController.changePolylines((List<Object>) polylinesToChange);
286-
Object polylineIdsToRemove = call.argument("polylineIdsToRemove");
287-
polylinesController.removePolylines((List<Object>) polylineIdsToRemove);
282+
List<Object> polylinesToAdd = call.argument("polylinesToAdd");
283+
polylinesController.addPolylines(polylinesToAdd);
284+
List<Object> polylinesToChange = call.argument("polylinesToChange");
285+
polylinesController.changePolylines(polylinesToChange);
286+
List<Object> polylineIdsToRemove = call.argument("polylineIdsToRemove");
287+
polylinesController.removePolylines(polylineIdsToRemove);
288288
result.success(null);
289289
break;
290290
}
291291
case "circles#update":
292292
{
293-
Object circlesToAdd = call.argument("circlesToAdd");
294-
circlesController.addCircles((List<Object>) circlesToAdd);
295-
Object circlesToChange = call.argument("circlesToChange");
296-
circlesController.changeCircles((List<Object>) circlesToChange);
297-
Object circleIdsToRemove = call.argument("circleIdsToRemove");
298-
circlesController.removeCircles((List<Object>) circleIdsToRemove);
293+
List<Object> circlesToAdd = call.argument("circlesToAdd");
294+
circlesController.addCircles(circlesToAdd);
295+
List<Object> circlesToChange = call.argument("circlesToChange");
296+
circlesController.changeCircles(circlesToChange);
297+
List<Object> circleIdsToRemove = call.argument("circleIdsToRemove");
298+
circlesController.removeCircles(circleIdsToRemove);
299299
result.success(null);
300300
break;
301301
}
@@ -682,7 +682,8 @@ public void setZoomControlsEnabled(boolean zoomControlsEnabled) {
682682

683683
@Override
684684
public void setInitialMarkers(Object initialMarkers) {
685-
this.initialMarkers = (List<Object>) initialMarkers;
685+
ArrayList<?> markers = (ArrayList<?>) initialMarkers;
686+
this.initialMarkers = markers != null ? new ArrayList<>(markers) : null;
686687
if (googleMap != null) {
687688
updateInitialMarkers();
688689
}
@@ -694,7 +695,8 @@ private void updateInitialMarkers() {
694695

695696
@Override
696697
public void setInitialPolygons(Object initialPolygons) {
697-
this.initialPolygons = (List<Object>) initialPolygons;
698+
ArrayList<?> polygons = (ArrayList<?>) initialPolygons;
699+
this.initialPolygons = polygons != null ? new ArrayList<>(polygons) : null;
698700
if (googleMap != null) {
699701
updateInitialPolygons();
700702
}
@@ -706,7 +708,8 @@ private void updateInitialPolygons() {
706708

707709
@Override
708710
public void setInitialPolylines(Object initialPolylines) {
709-
this.initialPolylines = (List<Object>) initialPolylines;
711+
ArrayList<?> polylines = (ArrayList<?>) initialPolylines;
712+
this.initialPolylines = polylines != null ? new ArrayList<>(polylines) : null;
710713
if (googleMap != null) {
711714
updateInitialPolylines();
712715
}
@@ -718,7 +721,8 @@ private void updateInitialPolylines() {
718721

719722
@Override
720723
public void setInitialCircles(Object initialCircles) {
721-
this.initialCircles = (List<Object>) initialCircles;
724+
ArrayList<?> circles = (ArrayList<?>) initialCircles;
725+
this.initialCircles = circles != null ? new ArrayList<>(circles) : null;
722726
if (googleMap != null) {
723727
updateInitialCircles();
724728
}

packages/google_maps_flutter/google_maps_flutter/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: google_maps_flutter
22
description: A Flutter plugin for integrating Google Maps in iOS and Android applications.
33
homepage: https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter/google_maps_flutter
4-
version: 1.0.6
4+
version: 1.0.7
55

66
dependencies:
77
flutter:

0 commit comments

Comments
 (0)