From b2e46f3c04d715c8ed68ae9bb1beee546dc71487 Mon Sep 17 00:00:00 2001 From: Lennart Goedhart <lennart@omnibase.com.au> Date: Wed, 25 May 2016 20:42:40 +1000 Subject: [PATCH] Fix for Crashlytics #1 --- .../nightscout/android/USB/UsbHidDriver.java | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java b/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java index 0332d97..a8d6256 100644 --- a/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java +++ b/app/src/main/java/info/nightscout/android/USB/UsbHidDriver.java @@ -8,7 +8,6 @@ import android.hardware.usb.UsbManager; import android.util.Log; import java.io.IOException; -import java.util.Iterator; //import com.hoho.android.usbserial.driver.UsbId; @@ -17,8 +16,8 @@ import java.util.Iterator; * * @author mike wakerly (opensource@hoho.com), Lennart Goedhart (lennart@omnibase.com.au) * @see <a - * href="http://www.usb.org/developers/devclass_docs/usbcdc11.pdf">Universal - * Serial Bus Class Definitions for Communication Devices, v1.1</a> + * href="http://www.usb.org/developers/devclass_docs/usbcdc11.pdf">Universal + * Serial Bus Class Definitions for Communication Devices, v1.1</a> */ public class UsbHidDriver extends CommonUsbDriver { @@ -35,17 +34,14 @@ public class UsbHidDriver extends CommonUsbDriver { super(device, connection); } - public static UsbHidDriver acquire( UsbManager usbManager, int vendorId, int productId ) { - Iterator<UsbDevice> deviceIterator = usbManager.getDeviceList().values().iterator(); + public static UsbHidDriver acquire(UsbManager usbManager, int vendorId, int productId) { // Iterate all the available devices and find ours. - while( deviceIterator.hasNext() ){ - UsbDevice device = deviceIterator.next(); + for (UsbDevice device : usbManager.getDeviceList().values()) { if (device.getProductId() == productId && device.getVendorId() == vendorId) { - final UsbDevice mDevice = device; - final UsbDeviceConnection mConnection = usbManager.openDevice( mDevice ); + final UsbDeviceConnection mConnection = usbManager.openDevice(device); - return new UsbHidDriver( mDevice, mConnection ); + return new UsbHidDriver(device, mConnection); } } @@ -54,14 +50,11 @@ public class UsbHidDriver extends CommonUsbDriver { @Override public void open() throws IOException { - Log.d(TAG, "claiming interfaces, count=" + mDevice.getInterfaceCount()); - int count = mDevice.getInterfaceCount(); Log.d(TAG, "Claiming HID interface."); mInterface = mDevice.getInterface(0); - Log.d(TAG, "data iface=" + mInterface); if (!mConnection.claimInterface(mInterface, true)) { - isConnectionOpen = false; + isConnectionOpen = false; throw new IOException("Could not claim data interface."); } @@ -75,7 +68,9 @@ public class UsbHidDriver extends CommonUsbDriver { @Override public void close() { - mConnection.close(); + if (mConnection != null) { + mConnection.close(); + } isConnectionOpen = false; } @@ -136,8 +131,8 @@ public class UsbHidDriver extends CommonUsbDriver { return offset; } - @Override - public boolean isConnectionOpen(){ - return isConnectionOpen; + @Override + public boolean isConnectionOpen() { + return isConnectionOpen; } } -- GitLab