From cc71ce6180127ee531b83310a2403025430ac0af Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 7 Jan 2016 22:52:17 -0600 Subject: [PATCH] Fix crash in XB1 controller driver on Fire HD 6 after controller removal --- .../limelight/binding/input/driver/XboxOneController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/com/limelight/binding/input/driver/XboxOneController.java b/app/src/main/java/com/limelight/binding/input/driver/XboxOneController.java index acbcabb5..96ea0c0b 100644 --- a/app/src/main/java/com/limelight/binding/input/driver/XboxOneController.java +++ b/app/src/main/java/com/limelight/binding/input/driver/XboxOneController.java @@ -129,6 +129,12 @@ public class XboxOneController { // Read the next input state packet long lastMillis = MediaCodecHelper.getMonotonicMillis(); res = connection.bulkTransfer(inEndpt, buffer, buffer.length, 3000); + + // If we get a zero length response, treat it as an error + if (res == 0) { + res = -1; + } + if (res == -1 && MediaCodecHelper.getMonotonicMillis() - lastMillis < 1000) { LimeLog.warning("Detected device I/O error"); XboxOneController.this.stop();