altoslib/altosuilib: Fix equals methods, add hashCode
[fw/altos] / altosuilib / AltosScanUI.java
index 031158243e69de010d475e14be13f801244c1847..fccfbaee284703d4b7e6d727c5e55f3c052758c8 100644 (file)
@@ -62,9 +62,18 @@ class AltosScanResult {
                rate = in_rate;
        }
 
-       public boolean equals(AltosScanResult other) {
+       public int hashCode() {
+               return serial ^ frequency.hashCode() ^ telemetry ^ rate;
+       }
+
+       public boolean equals(Object o) {
+               if (o == null)
+                       return false;
+               if (!(o instanceof AltosScanResult))
+                       return false;
+               AltosScanResult other = (AltosScanResult) o;
                return (serial == other.serial &&
-                       frequency.frequency == other.frequency.frequency &&
+                       frequency.equals(other.frequency) &&
                        telemetry == other.telemetry &&
                        rate == other.rate);
        }