diff options
author | 2014-10-06 22:50:20 +0900 | |
---|---|---|
committer | 2014-10-06 23:15:22 +0900 | |
commit | b498d2cf84942bcb697928b0e6176c5a03d31dbc (patch) | |
tree | cd4e1f145b31171a12a83334884415313f1693b1 | |
parent | 82065e36ec07e5ca18831a7428bc9b0c021fc47d (diff) | |
download | latinime-b498d2cf84942bcb697928b0e6176c5a03d31dbc.tar.gz latinime-b498d2cf84942bcb697928b0e6176c5a03d31dbc.tar.xz latinime-b498d2cf84942bcb697928b0e6176c5a03d31dbc.zip |
Fix a possible NPE in Dicttool
I've never seen the NPE happen and only happened to notice
this by chance. Let's fix the code.
Change-Id: If458646229f9cadcd6c15779348133f382fde783
-rw-r--r-- | tools/dicttool/compat/android/util/Pair.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/dicttool/compat/android/util/Pair.java b/tools/dicttool/compat/android/util/Pair.java index 5bf34848d..ab6096ee3 100644 --- a/tools/dicttool/compat/android/util/Pair.java +++ b/tools/dicttool/compat/android/util/Pair.java @@ -17,6 +17,7 @@ package android.util; import java.util.Arrays; +import java.util.Objects; public class Pair<T1, T2> { public final T1 mFirst; @@ -29,7 +30,8 @@ public class Pair<T1, T2> { @Override public int hashCode() { - return Arrays.hashCode(new Object[] { mFirst, mSecond }); + return (mFirst == null ? 0 : mFirst.hashCode()) + ^ (mSecond == null ? 0 : mSecond.hashCode()); } @Override @@ -37,7 +39,6 @@ public class Pair<T1, T2> { if (o == this) return true; if (!(o instanceof Pair)) return false; Pair<?, ?> p = (Pair<?, ?>)o; - return ((mFirst == null && p.mFirst == null) || mFirst.equals(p.mFirst)) - && ((mSecond == null && p.mSecond == null) || mSecond.equals(p.mSecond)); + return Objects.equals(mFirst, p.mFirst) && Objects.equals(mSecond, p.mSecond); } } |