diff --git a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java index 775c2406..14b77387 100644 --- a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java +++ b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java @@ -365,13 +365,15 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD // Count all USB devices that match our drivers if (PreferenceConfiguration.readPreferences(context).usbDriver) { UsbManager usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE); - for (UsbDevice dev : usbManager.getDeviceList().values()) { - // We explicitly check not to claim devices that appear as InputDevices - // otherwise we will double count them. - if (UsbDriverService.shouldClaimDevice(dev, false) && - !UsbDriverService.isRecognizedInputDevice(dev)) { - LimeLog.info("Counting UsbDevice: "+dev.getDeviceName()); - mask |= 1 << count++; + if (usbManager != null) { + for (UsbDevice dev : usbManager.getDeviceList().values()) { + // We explicitly check not to claim devices that appear as InputDevices + // otherwise we will double count them. + if (UsbDriverService.shouldClaimDevice(dev, false) && + !UsbDriverService.isRecognizedInputDevice(dev)) { + LimeLog.info("Counting UsbDevice: "+dev.getDeviceName()); + mask |= 1 << count++; + } } } } diff --git a/app/src/main/java/com/limelight/binding/input/driver/UsbDriverService.java b/app/src/main/java/com/limelight/binding/input/driver/UsbDriverService.java index 004d6e33..7344c64e 100644 --- a/app/src/main/java/com/limelight/binding/input/driver/UsbDriverService.java +++ b/app/src/main/java/com/limelight/binding/input/driver/UsbDriverService.java @@ -287,7 +287,7 @@ public class UsbDriverService extends Service implements UsbDriverListener { } private void start() { - if (started) { + if (started || usbManager == null) { return; }