From b82963f3e038cf12708374c78aff3f57619d02b7 Mon Sep 17 00:00:00 2001 From: Paul McLean Date: Mon, 10 Jul 2017 14:51:57 -0600 Subject: Catch exception in descriptor parser causes device connection to be skipped. Bug: 63538159 Test: Manual - force an exception and verify the the device is still available. Change-Id: I4f4c59d4d0f73b664fac8bc74a64414d0e9d9a24 --- services/usb/java/com/android/server/usb/UsbHostManager.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'services/usb/java') diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java index 40aadbbcc457..3279fa673bfa 100644 --- a/services/usb/java/com/android/server/usb/UsbHostManager.java +++ b/services/usb/java/com/android/server/usb/UsbHostManager.java @@ -261,12 +261,16 @@ public class UsbHostManager { } // deviceName is something like: "/dev/bus/usb/001/001" UsbDescriptorParser parser = new UsbDescriptorParser(); + boolean isInputHeadset = false; + boolean isOutputHeadset = false; if (parser.parseDevice(mNewDevice.getDeviceName())) { - Slog.i(TAG, "---- isHeadset[in:" + parser.isInputHeadset() - + " , out:" + parser.isOutputHeadset() + "]"); - mUsbAlsaManager.usbDeviceAdded(mNewDevice, - parser.isInputHeadset(), parser.isOutputHeadset()); + isInputHeadset = parser.isInputHeadset(); + isOutputHeadset = parser.isOutputHeadset(); + Slog.i(TAG, "---- isHeadset[in:" + isInputHeadset + + " , out:" + isOutputHeadset + "]"); } + mUsbAlsaManager.usbDeviceAdded(mNewDevice, + isInputHeadset, isOutputHeadset); } else { Slog.e(TAG, "mNewDevice is null in endUsbDeviceAdded"); } -- cgit v1.2.3-59-g8ed1b