From ed987a52a2aa028814ecc73dd6d60244ac1df7f5 Mon Sep 17 00:00:00 2001 From: "wang.zhenyu" Date: Sat, 4 Jul 2015 17:00:16 +0800 Subject: Miss USB device Interface from UsbManager.getDeviceList(). In the scenario that you connect more than one device to android phone with an usb hub, when you attach the second device,mNewConfigurationis is still corresponded to the first device unless another mNewConfiguration is created by a new operation. However,before another mNewConfiguration is created,setInterfaces() in addUsbConfiguration() has already been executed. Problem is that mNewInterfaces has already been cleared when it finished endUsbDeviceAdded for the first device. As a result,the UsbInterface descriptor in the first device's Configuration descriptor is set to null. Bug: 22657587 Change-Id: I0ba4f07c809d07ebebed633e43c3ee8e2e4c5060 --- services/usb/java/com/android/server/usb/UsbHostManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java index 6300a9a..965341e 100644 --- a/services/usb/java/com/android/server/usb/UsbHostManager.java +++ b/services/usb/java/com/android/server/usb/UsbHostManager.java @@ -231,6 +231,8 @@ public class UsbHostManager { mNewConfigurations = null; mNewInterfaces = null; mNewEndpoints = null; + mNewConfiguration = null; + mNewInterface = null; } } -- cgit v1.1