From 1486437ad2c4e22ebe5bdbcafa1cceec4fad2429 Mon Sep 17 00:00:00 2001 From: Jordan Liu Date: Wed, 8 Apr 2020 14:42:02 -0700 Subject: Implement #equals in Geometries subclasses Bug: 148482334 Test: atest CbGeoUtilsTest Change-Id: Ifc9aeaf378ac3221fc25690ed6ce33108cf2f56f --- telephony/java/android/telephony/CbGeoUtils.java | 61 ++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/telephony/java/android/telephony/CbGeoUtils.java b/telephony/java/android/telephony/CbGeoUtils.java index c0ae99e89cb3..806bac0c32c9 100644 --- a/telephony/java/android/telephony/CbGeoUtils.java +++ b/telephony/java/android/telephony/CbGeoUtils.java @@ -128,6 +128,23 @@ public class CbGeoUtils { public String toString() { return "(" + lat + "," + lng + ")"; } + + /** + * @hide + */ + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + + if (!(o instanceof LatLng)) { + return false; + } + + LatLng l = (LatLng) o; + return lat == l.lat && lng == l.lng; + } } /** @@ -280,6 +297,32 @@ public class CbGeoUtils { } return str; } + + /** + * @hide + */ + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + + if (!(o instanceof Polygon)) { + return false; + } + + Polygon p = (Polygon) o; + if (mVertices.size() != p.mVertices.size()) { + return false; + } + for (int i = 0; i < mVertices.size(); i++) { + if (!mVertices.get(i).equals(p.mVertices.get(i))) { + return false; + } + } + + return true; + } } /** @@ -335,6 +378,24 @@ public class CbGeoUtils { return str; } + + /** + * @hide + */ + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + + if (!(o instanceof Circle)) { + return false; + } + + Circle c = (Circle) o; + return mCenter.equals(c.mCenter) + && Double.compare(mRadiusMeter, c.mRadiusMeter) == 0; + } } /** -- cgit v1.2.3-59-g8ed1b