diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java index d02c06f2d..bf814b6d6 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java @@ -105,8 +105,7 @@ public class UsbTransport implements Transport { public void connect() throws IOException { usbInterface = getSmartCardInterface(usbDevice); if (usbInterface == null) { - // Shouldn't happen as we whitelist only class 11 devices - throw new UsbTransportException("USB error - device doesn't have class 11 interface"); + throw new UsbTransportException("USB error: CCID mode must be enabled (no class 11 interface)"); } final Pair ioEndpoints = getIoEndpoints(usbInterface); @@ -114,16 +113,16 @@ public class UsbTransport implements Transport { UsbEndpoint usbBulkOut = ioEndpoints.second; if (usbBulkIn == null || usbBulkOut == null) { - throw new UsbTransportException("USB error - invalid class 11 interface"); + throw new UsbTransportException("USB error: invalid class 11 interface"); } usbConnection = usbManager.openDevice(usbDevice); if (usbConnection == null) { - throw new UsbTransportException("USB error - failed to connect to device"); + throw new UsbTransportException("USB error: failed to connect to device"); } if (!usbConnection.claimInterface(usbInterface, true)) { - throw new UsbTransportException("USB error - failed to claim interface"); + throw new UsbTransportException("USB error: failed to claim interface"); } byte[] rawDescriptors = usbConnection.getRawDescriptors(); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseSecurityTokenActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseSecurityTokenActivity.java index bfb17a3a3..4e8ba2e10 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseSecurityTokenActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseSecurityTokenActivity.java @@ -136,8 +136,9 @@ public abstract class BaseSecurityTokenActivity extends BaseActivity public void securityTokenDiscovered(final Transport transport) { // Actual Security Token operations are executed in doInBackground to not block the UI thread - if (!mTagHandlingEnabled) + if (!mTagHandlingEnabled) { return; + } final SecurityTokenConnection stConnection = SecurityTokenConnection.getInstanceForTransport(transport, mCachedPin); diff --git a/OpenKeychain/src/main/res/xml/usb_device_filter.xml b/OpenKeychain/src/main/res/xml/usb_device_filter.xml index e6dd45759..d1ecfd32d 100644 --- a/OpenKeychain/src/main/res/xml/usb_device_filter.xml +++ b/OpenKeychain/src/main/res/xml/usb_device_filter.xml @@ -7,36 +7,31 @@ Note that values are decimal. --> - - - - - - - - - + - - + + - - - - - - - - + + + + + + + - - + + + + + + - - - - - - -