no longer need patch
[fw/altos] / altosuilib / AltosUSBDevice.java
index 49f966f330b56e9f7c3f7fc53bc3dd9c0a161c2c..585bd7740d293b1b256c408d6c5d32a31912c1cd 100644 (file)
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altosuilib_12;
+package org.altusmetrum.altosuilib_14;
 
 import java.util.*;
 import libaltosJNI.*;
+import org.altusmetrum.altoslib_14.*;
 
 public class AltosUSBDevice  extends altos_device implements AltosDevice {
 
        public String toString() {
                String  name = getName();
-               if (name == null)
+               if (name == null || "".equals(name))
                        name = "Altus Metrum";
                return String.format("%-20.20s %4d %s",
                                     name, getSerial(), getPath());
@@ -33,7 +34,7 @@ public class AltosUSBDevice  extends altos_device implements AltosDevice {
 
        public String toShortString() {
                String  name = getName();
-               if (name == null)
+               if (name == null || "".equals(name))
                        name = "Altus Metrum";
                return String.format("%s %d %s",
                                     name, getSerial(), getPath());
@@ -73,13 +74,13 @@ public class AltosUSBDevice  extends altos_device implements AltosDevice {
 
                if (want_product == AltosUILib.product_basestation)
                        return have_product == AltosUILib.product_teledongle ||
-                               have_product == AltosUILib.product_teleterra ||
                                have_product == AltosUILib.product_telebt ||
                                have_product == AltosUILib.product_megadongle;
 
                if (want_product == AltosUILib.product_altimeter)
                        return have_product == AltosUILib.product_telemetrum ||
                                have_product == AltosUILib.product_telemega ||
+                               have_product == AltosUILib.product_easytimer ||
                                have_product == AltosUILib.product_easymega ||
                                have_product == AltosUILib.product_telegps ||
                                have_product == AltosUILib.product_easymini ||
@@ -94,6 +95,32 @@ public class AltosUSBDevice  extends altos_device implements AltosDevice {
                return false;
        }
 
+       public int hashCode() {
+               return getVendor() ^ getProduct() ^ getSerial() ^ getPath().hashCode();
+       }
+
+       public AltosUsbId usb_id() {
+               return new AltosUsbId(getVendor(), getProduct());
+       }
+
+       public String usb_product() {
+               return getName();
+       }
+
+       public boolean equals(Object o) {
+               if (o == null)
+                       return false;
+
+               if (!(o instanceof AltosUSBDevice))
+                       return false;
+               AltosUSBDevice other = (AltosUSBDevice) o;
+
+               return getVendor() == other.getVendor() &&
+                       getProduct() == other.getProduct() &&
+                       getSerial() == other.getSerial() &&
+                       getPath().equals(other.getPath());
+       }
+
        static public java.util.List<AltosDevice> list(int product) {
                if (!AltosUILib.load_library())
                        return null;