public UsbTransferProvider(Context context, ComponentName service, UsbAccessory usbAccessory, UsbTransferCallback callback){
if(context == null || service == null || usbAccessory == null){
throw new IllegalStateException("Supplied params are not correct. Context == null? "+ (context==null) + " ComponentName == null? " + (service == null) + " Usb Accessory == null? " + usbAccessory);
}
this.context = context;
this.routerService = service;
this.callback = callback;
this.clientMessenger = new Messenger(new ClientHandler(this));
usbPfd = getFileDescriptor(usbAccessory);
if(usbPfd != null){
usbInfoBundle = new Bundle();
usbInfoBundle.putString(MultiplexUsbTransport.MANUFACTURER, usbAccessory.getManufacturer());
usbInfoBundle.putString(MultiplexUsbTransport.MODEL, usbAccessory.getModel());
usbInfoBundle.putString(MultiplexUsbTransport.VERSION, usbAccessory.getVersion());
usbInfoBundle.putString(MultiplexUsbTransport.URI, usbAccessory.getUri());
usbInfoBundle.putString(MultiplexUsbTransport.SERIAL, usbAccessory.getSerial());
usbInfoBundle.putString(MultiplexUsbTransport.DESCRIPTION, usbAccessory.getDescription());
checkIsConnected();
}
}