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