Tighter equals/hashCode method checking.

Test: false-positive no longer triggered
Bug: 32721082
Change-Id: I49b6225a7282d0bb84b0dfb4cabe56e9f68186a9
diff --git a/tools/apilint/apilint.py b/tools/apilint/apilint.py
index 48a1330..3fedea2 100644
--- a/tools/apilint/apilint.py
+++ b/tools/apilint/apilint.py
@@ -403,9 +403,12 @@
 
 def verify_equals(clazz):
     """Verify that equals() and hashCode() must be overridden together."""
-    methods = [ m.name for m in clazz.methods ]
-    eq = "equals" in methods
-    hc = "hashCode" in methods
+    eq = False
+    hc = False
+    for m in clazz.methods:
+        if " static " in m.raw: continue
+        if "boolean equals(java.lang.Object)" in m.raw: eq = True
+        if "int hashCode()" in m.raw: hc = True
     if eq != hc:
         error(clazz, None, "M8", "Must override both equals and hashCode; missing one")