public static boolean isCdcDevice(UsbDevice device) { int iIndex = device.getInterfaceCount(); for (int i = 0; i <= iIndex - 1; i++) { UsbInterface iface = device.getInterface(i); if (iface.getInterfaceClass() == UsbConstants.USB_CLASS_CDC_DATA) return true; } return false; }
private boolean isCSCID(UsbDevice device) { if (device.getDeviceClass() == UsbConstants.USB_CLASS_CSCID) return true; int count = device.getInterfaceCount(); for (int i = 0; i < count; i++) { UsbInterface iface = device.getInterface(i); if (iface == null) { Log.d(TAG, "isCSCID null interface"); continue; } Log.d(TAG, "isCSCID iface class:" + iface.getInterfaceClass()); if (iface.getInterfaceClass() == UsbConstants.USB_CLASS_CSCID) { return true; } } return false; }
// searches for an adb interface on the given USB device private static UsbInterface findAdbInterface(UsbDevice device) { Log.d(TAG, "findAdbInterface " + device); int count = device.getInterfaceCount(); for (int i = 0; i < count; i++) { UsbInterface intf = device.getInterface(i); if (intf.getInterfaceClass() == 255 && intf.getInterfaceSubclass() == 66 && intf.getInterfaceProtocol() == 1) { return intf; } } return null; }