altosui: Devices with USB id 0x000a always get listed
authorKeith Packard <keithp@keithp.com>
Mon, 30 Aug 2010 12:49:11 +0000 (05:49 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 30 Aug 2010 12:49:11 +0000 (05:49 -0700)
List 'unknown' AltusMetrum devices anytime the UI needs a device
name.

Signed-off-by: Keith Packard <keithp@keithp.com>
ao-tools/altosui/AltosDevice.java

index 3daf0742311b254ccfc35360391847c466c3b807..e62a0a7aa31f6b9e610c2c2d06372aae8ce44af3 100644 (file)
@@ -32,6 +32,7 @@ public class AltosDevice extends altos_device {
                        System.err.println("Native library failed to load.\n" + e);
                }
        }
+       public final static int AltusMetrum = libaltosConstants.USB_PRODUCT_ALTUSMETRUM;
        public final static int TeleMetrum = libaltosConstants.USB_PRODUCT_TELEMETRUM;
        public final static int TeleDongle = libaltosConstants.USB_PRODUCT_TELEDONGLE;
        public final static int TeleTerra = libaltosConstants.USB_PRODUCT_TELETERRA;
@@ -58,33 +59,23 @@ public class AltosDevice extends altos_device {
 
        public boolean matchProduct(int want_product) {
 
+               if (!isAltusMetrum())
+                       return false;
+
                if (want_product == Any)
                        return true;
 
                if (want_product == BaseStation)
                        return matchProduct(TeleDongle) || matchProduct(TeleTerra);
 
-               if (!isAltusMetrum())
-                       return false;
-
                int have_product = getProduct();
 
-               if (want_product == have_product)
+               if (have_product == AltusMetrum)        /* old devices match any request */
                        return true;
 
-               if (have_product != libaltosConstants.USB_PRODUCT_ALTUSMETRUM)
-                       return false;
-
-               String name = getName();
+               if (want_product == have_product)
+                       return true;
 
-               if (name == null)
-                       return false;
-               if (want_product == libaltosConstants.USB_PRODUCT_TELEMETRUM)
-                       return name.startsWith("TeleMetrum");
-               if (want_product == libaltosConstants.USB_PRODUCT_TELEDONGLE)
-                       return name.startsWith("TeleDongle");
-               if (want_product == libaltosConstants.USB_PRODUCT_TELETERRA)
-                       return name.startsWith("TeleTerra");
                return false;
        }