From ddfa8a077abe3968086e82499932eea728382161 Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sat, 4 Feb 2023 21:42:22 +0530 Subject: [PATCH 1/7] fix points losing precision when converted to lat long --- .../flutter/plugins/googlemaps/Convert.java | 8 ++++-- .../plugins/googlemaps/ConvertTest.java | 28 +++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java index 72c6959fe55e..13140633ca4f 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java @@ -7,6 +7,9 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Point; + +import androidx.annotation.VisibleForTesting; + import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.model.BitmapDescriptor; @@ -592,13 +595,14 @@ static String interpretCircleOptions(Object o, CircleOptionsSink sink) { } } - private static List toPoints(Object o) { + @VisibleForTesting + static List toPoints(Object o) { final List data = toList(o); final List points = new ArrayList<>(data.size()); for (Object rawPoint : data) { final List point = toList(rawPoint); - points.add(new LatLng(toFloat(point.get(0)), toFloat(point.get(1)))); + points.add(new LatLng(toDouble(point.get(0)), toDouble(point.get(1)))); } return points; } diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java new file mode 100644 index 000000000000..3086abcd6681 --- /dev/null +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java @@ -0,0 +1,28 @@ +package io.flutter.plugins.googlemaps; + +import com.google.android.gms.maps.model.LatLng; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +public class ConvertTest{ + + @Test + public void toPointsConvertsThePointsWithFullPrecision(){ + double latitude = 43.03725568057; + double longitude = -87.90466904649; + ArrayList point = new ArrayList(); + point.add(latitude); + point.add(longitude); + ArrayList> pointsList = new ArrayList<>(); + pointsList.add(point); + List latLngs = Convert.toPoints(pointsList); + LatLng latLng = latLngs.get(0); + Assert.assertEquals(String.valueOf(latitude), String.valueOf(latLng.latitude)); + Assert.assertEquals(String.valueOf(longitude), String.valueOf(latLng.longitude)); + + } +} \ No newline at end of file From 204aa5ad926392f14df79d7190eb0450afbb021a Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sat, 4 Feb 2023 21:43:47 +0530 Subject: [PATCH 2/7] add changelog --- .../google_maps_flutter_android/CHANGELOG.md | 3 ++- .../google_maps_flutter_android/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md index 6e596c135f38..35dd55033b78 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.4.4 +* Fixes Points losing precision when converting to LatLng * Updates minimum Flutter version to 3.0. ## 2.4.3 diff --git a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml index d67e85f15e9a..0e2842bf24f2 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_android/pubspec.yaml @@ -2,7 +2,7 @@ name: google_maps_flutter_android description: Android implementation of the google_maps_flutter plugin. repository: https://github.com/flutter/plugins/tree/main/packages/google_maps_flutter/google_maps_flutter_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22 -version: 2.4.3 +version: 2.4.4 environment: sdk: ">=2.14.0 <3.0.0" From f0c11bb952006f4c6f486563def4dd4145a9e40d Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sun, 5 Feb 2023 10:57:42 +0530 Subject: [PATCH 3/7] fix format --- .../flutter/plugins/googlemaps/ConvertTest.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java index 3086abcd6681..2344ad570a55 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java @@ -8,12 +8,12 @@ import java.util.ArrayList; import java.util.List; -public class ConvertTest{ +public class ConvertTest { @Test - public void toPointsConvertsThePointsWithFullPrecision(){ - double latitude = 43.03725568057; - double longitude = -87.90466904649; + public void toPointsConvertsThePointsWithFullPrecision() { + double latitude = 43.03725568057; + double longitude = -87.90466904649; ArrayList point = new ArrayList(); point.add(latitude); point.add(longitude); @@ -21,8 +21,7 @@ public void toPointsConvertsThePointsWithFullPrecision(){ pointsList.add(point); List latLngs = Convert.toPoints(pointsList); LatLng latLng = latLngs.get(0); - Assert.assertEquals(String.valueOf(latitude), String.valueOf(latLng.latitude)); - Assert.assertEquals(String.valueOf(longitude), String.valueOf(latLng.longitude)); - + Assert.assertEquals(latitude, latLng.latitude, 1e-15); + Assert.assertEquals(longitude, latLng.longitude, 1e-15); } -} \ No newline at end of file +} From f2a4b7d18526c6972647dd86d1619e4c22061ec6 Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sun, 5 Feb 2023 11:19:04 +0530 Subject: [PATCH 4/7] fix format --- .../flutter/plugins/googlemaps/Convert.java | 2 -- .../plugins/googlemaps/ConvertTest.java | 33 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java index 13140633ca4f..22c8f4d24be6 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/main/java/io/flutter/plugins/googlemaps/Convert.java @@ -7,9 +7,7 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Point; - import androidx.annotation.VisibleForTesting; - import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.model.BitmapDescriptor; diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java index 2344ad570a55..6d5bd2b60c8f 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java @@ -2,26 +2,25 @@ import com.google.android.gms.maps.model.LatLng; -import org.junit.Assert; -import org.junit.Test; - import java.util.ArrayList; import java.util.List; +import org.junit.Assert; +import org.junit.Test; public class ConvertTest { - @Test - public void toPointsConvertsThePointsWithFullPrecision() { - double latitude = 43.03725568057; - double longitude = -87.90466904649; - ArrayList point = new ArrayList(); - point.add(latitude); - point.add(longitude); - ArrayList> pointsList = new ArrayList<>(); - pointsList.add(point); - List latLngs = Convert.toPoints(pointsList); - LatLng latLng = latLngs.get(0); - Assert.assertEquals(latitude, latLng.latitude, 1e-15); - Assert.assertEquals(longitude, latLng.longitude, 1e-15); - } + @Test + public void toPointsConvertsThePointsWithFullPrecision() { + double latitude = 43.03725568057; + double longitude = -87.90466904649; + ArrayList point = new ArrayList(); + point.add(latitude); + point.add(longitude); + ArrayList> pointsList = new ArrayList<>(); + pointsList.add(point); + List latLngs = Convert.toPoints(pointsList); + LatLng latLng = latLngs.get(0); + Assert.assertEquals(latitude, latLng.latitude, 1e-15); + Assert.assertEquals(longitude, latLng.longitude, 1e-15); + } } From 6884b0f552320690bbd1458648e1394d41bf388d Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sun, 5 Feb 2023 12:48:05 +0530 Subject: [PATCH 5/7] fix name --- .../test/java/io/flutter/plugins/googlemaps/ConvertTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java index 6d5bd2b60c8f..cac9a123c8e2 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java @@ -10,7 +10,7 @@ public class ConvertTest { @Test - public void toPointsConvertsThePointsWithFullPrecision() { + public void ConvertToPointsConvertsThePointsWithFullPrecision() { double latitude = 43.03725568057; double longitude = -87.90466904649; ArrayList point = new ArrayList(); From f07347446a195999a58cfe8103a823a49c98d70f Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sun, 5 Feb 2023 12:55:12 +0530 Subject: [PATCH 6/7] fix format --- .../src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java index cac9a123c8e2..7f8953808482 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java @@ -1,7 +1,6 @@ package io.flutter.plugins.googlemaps; import com.google.android.gms.maps.model.LatLng; - import java.util.ArrayList; import java.util.List; import org.junit.Assert; From 2866824cbc72b113d53e2fb8a5b408608c451238 Mon Sep 17 00:00:00 2001 From: balvinderz Date: Sun, 5 Feb 2023 13:11:51 +0530 Subject: [PATCH 7/7] add license --- .../test/java/io/flutter/plugins/googlemaps/ConvertTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java index 7f8953808482..0d635170c1f3 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java +++ b/packages/google_maps_flutter/google_maps_flutter_android/android/src/test/java/io/flutter/plugins/googlemaps/ConvertTest.java @@ -1,3 +1,7 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + package io.flutter.plugins.googlemaps; import com.google.android.gms.maps.model.LatLng;