diff options
author | Romain Guy <romainguy@google.com> | 2012-01-31 10:50:38 -0800 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-01-31 10:50:38 -0800 |
commit | 74d7ca133a6db82abba5c0abe443fb001928e72c (patch) | |
tree | c58ea32710ea004664b87c14d958878d3c2f81e2 /graphics/java | |
parent | 13631f3da855f200a151e7837ed9f6b079622b58 (diff) | |
download | frameworks_base-74d7ca133a6db82abba5c0abe443fb001928e72c.zip frameworks_base-74d7ca133a6db82abba5c0abe443fb001928e72c.tar.gz frameworks_base-74d7ca133a6db82abba5c0abe443fb001928e72c.tar.bz2 |
Proper equals/hashCode impls in Rect and RectF
Change-Id: Ief52d84f134018af4dfd19674de12736c056e3f8
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/Rect.java | 22 | ||||
-rw-r--r-- | graphics/java/android/graphics/RectF.java | 18 |
2 files changed, 33 insertions, 7 deletions
diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java index 7830224..0ada1fb 100644 --- a/graphics/java/android/graphics/Rect.java +++ b/graphics/java/android/graphics/Rect.java @@ -76,13 +76,21 @@ public final class Rect implements Parcelable { } @Override - public boolean equals(Object obj) { - Rect r = (Rect) obj; - if (r != null) { - return left == r.left && top == r.top && right == r.right - && bottom == r.bottom; - } - return false; + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Rect r = (Rect) o; + return left == r.left && top == r.top && right == r.right && bottom == r.bottom; + } + + @Override + public int hashCode() { + int result = left; + result = 31 * result + top; + result = 31 * result + right; + result = 31 * result + bottom; + return result; } @Override diff --git a/graphics/java/android/graphics/RectF.java b/graphics/java/android/graphics/RectF.java index 00e9609..293dfcc 100644 --- a/graphics/java/android/graphics/RectF.java +++ b/graphics/java/android/graphics/RectF.java @@ -79,6 +79,24 @@ public class RectF implements Parcelable { bottom = r.bottom; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Rect r = (Rect) o; + return left == r.left && top == r.top && right == r.right && bottom == r.bottom; + } + + @Override + public int hashCode() { + int result = (left != +0.0f ? Float.floatToIntBits(left) : 0); + result = 31 * result + (top != +0.0f ? Float.floatToIntBits(top) : 0); + result = 31 * result + (right != +0.0f ? Float.floatToIntBits(right) : 0); + result = 31 * result + (bottom != +0.0f ? Float.floatToIntBits(bottom) : 0); + return result; + } + public String toString() { return "RectF(" + left + ", " + top + ", " + right + ", " + bottom + ")"; |