kopia lustrzana https://github.com/mik3y/usb-serial-for-android
no code changes, just use normal line breaks
rodzic
5db45548ba
commit
fd551970be
|
@ -37,30 +37,30 @@ public class CdcAcmSerialDriver implements UsbSerialDriver {
|
|||
public CdcAcmSerialDriver(UsbDevice device) {
|
||||
mDevice = device;
|
||||
mPorts = new ArrayList<>();
|
||||
int ports = countPorts(device);
|
||||
for (int port = 0; port < ports; port++) {
|
||||
mPorts.add(new CdcAcmSerialPort(mDevice, port));
|
||||
}
|
||||
if (mPorts.size() == 0) {
|
||||
mPorts.add(new CdcAcmSerialPort(mDevice, -1));
|
||||
}
|
||||
}
|
||||
int ports = countPorts(device);
|
||||
for (int port = 0; port < ports; port++) {
|
||||
mPorts.add(new CdcAcmSerialPort(mDevice, port));
|
||||
}
|
||||
if (mPorts.size() == 0) {
|
||||
mPorts.add(new CdcAcmSerialPort(mDevice, -1));
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unused"})
|
||||
public static boolean probe(UsbDevice device) {
|
||||
return countPorts(device) > 0;
|
||||
}
|
||||
|
||||
private static int countPorts(UsbDevice device) {
|
||||
@SuppressWarnings({"unused"})
|
||||
public static boolean probe(UsbDevice device) {
|
||||
return countPorts(device) > 0;
|
||||
}
|
||||
|
||||
private static int countPorts(UsbDevice device) {
|
||||
int controlInterfaceCount = 0;
|
||||
int dataInterfaceCount = 0;
|
||||
for (int i = 0; i < device.getInterfaceCount(); i++) {
|
||||
if (device.getInterface(i).getInterfaceClass() == UsbConstants.USB_CLASS_COMM)
|
||||
for (int i = 0; i < device.getInterfaceCount(); i++) {
|
||||
if (device.getInterface(i).getInterfaceClass() == UsbConstants.USB_CLASS_COMM)
|
||||
controlInterfaceCount++;
|
||||
if (device.getInterface(i).getInterfaceClass() == UsbConstants.USB_CLASS_CDC_DATA)
|
||||
if (device.getInterface(i).getInterfaceClass() == UsbConstants.USB_CLASS_CDC_DATA)
|
||||
dataInterfaceCount++;
|
||||
}
|
||||
return Math.min(controlInterfaceCount, dataInterfaceCount);
|
||||
return Math.min(controlInterfaceCount, dataInterfaceCount);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -141,7 +141,7 @@ public class CdcAcmSerialDriver implements UsbSerialDriver {
|
|||
private void openInterface() throws IOException {
|
||||
Log.d(TAG, "claiming interfaces, count=" + mDevice.getInterfaceCount());
|
||||
|
||||
int rndisControlInterfaceCount = 0;
|
||||
int rndisControlInterfaceCount = 0;
|
||||
int controlInterfaceCount = 0;
|
||||
int dataInterfaceCount = 0;
|
||||
mControlInterface = null;
|
||||
|
@ -156,22 +156,22 @@ public class CdcAcmSerialDriver implements UsbSerialDriver {
|
|||
controlInterfaceCount++;
|
||||
}
|
||||
if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_CDC_DATA) {
|
||||
if(dataInterfaceCount == mPortNumber + rndisControlInterfaceCount) {
|
||||
if(dataInterfaceCount == mPortNumber + rndisControlInterfaceCount) {
|
||||
mDataInterface = usbInterface;
|
||||
}
|
||||
dataInterfaceCount++;
|
||||
}
|
||||
if (mDataInterface == null &&
|
||||
usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_WIRELESS_CONTROLLER &&
|
||||
usbInterface.getInterfaceSubclass() == 1 &&
|
||||
usbInterface.getInterfaceProtocol() == 3) {
|
||||
/*
|
||||
* RNDIS is a MSFT variant of CDC-ACM states the Linux kernel in rndis_host.c
|
||||
* The devices provide IAD descriptors to indicate consecutive interfaces belonging
|
||||
* together, but this is not exposed to Java. So simply skip related data interfaces.
|
||||
*/
|
||||
rndisControlInterfaceCount++;
|
||||
}
|
||||
if (mDataInterface == null &&
|
||||
usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_WIRELESS_CONTROLLER &&
|
||||
usbInterface.getInterfaceSubclass() == 1 &&
|
||||
usbInterface.getInterfaceProtocol() == 3) {
|
||||
/*
|
||||
* RNDIS is a MSFT variant of CDC-ACM states the Linux kernel in rndis_host.c
|
||||
* The devices provide IAD descriptors to indicate consecutive interfaces belonging
|
||||
* together, but this is not exposed to Java. So simply skip related data interfaces.
|
||||
*/
|
||||
rndisControlInterfaceCount++;
|
||||
}
|
||||
}
|
||||
|
||||
if(mControlInterface == null) {
|
||||
|
@ -306,9 +306,9 @@ public class CdcAcmSerialDriver implements UsbSerialDriver {
|
|||
|
||||
}
|
||||
|
||||
@SuppressWarnings({"unused"})
|
||||
@SuppressWarnings({"unused"})
|
||||
public static Map<Integer, int[]> getSupportedDevices() {
|
||||
return new LinkedHashMap<>();
|
||||
return new LinkedHashMap<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue