diff options
| author | 2020-04-08 14:42:02 -0700 | |
|---|---|---|
| committer | 2020-04-08 14:42:02 -0700 | |
| commit | 1486437ad2c4e22ebe5bdbcafa1cceec4fad2429 (patch) | |
| tree | bc5e4d80e084afc3adf0616016bf74f26eddcc84 | |
| parent | 79754e751998be0c3b80eb5b87dce20987922111 (diff) | |
Implement #equals in Geometries subclasses
Bug: 148482334
Test: atest CbGeoUtilsTest
Change-Id: Ifc9aeaf378ac3221fc25690ed6ce33108cf2f56f
| -rw-r--r-- | telephony/java/android/telephony/CbGeoUtils.java | 61 |
1 files changed, 61 insertions, 0 deletions
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; + } } /** |