Fix exceptions causing HTC dongle (and JBL headset) to fail connection logic.
Bug: 64108509 Test: Manual Change-Id: I9574f34cea4ff9ef3e18553a138f1a8b95b1b108
This commit is contained in:
@@ -123,21 +123,27 @@ public class UsbDescriptorParser {
|
||||
|
||||
ByteStream stream = new ByteStream(descriptors);
|
||||
while (stream.available() > 0) {
|
||||
UsbDescriptor descriptor = allocDescriptor(stream);
|
||||
UsbDescriptor descriptor = null;
|
||||
try {
|
||||
descriptor = allocDescriptor(stream);
|
||||
} catch (Exception ex) {
|
||||
Log.e(TAG, "Exception allocating USB descriptor.", ex);
|
||||
}
|
||||
|
||||
if (descriptor != null) {
|
||||
// Parse
|
||||
try {
|
||||
descriptor.parseRawDescriptors(stream);
|
||||
|
||||
// Its OK to add the invalid descriptor as the postParse()
|
||||
// routine will mark it as invalid.
|
||||
mDescriptors.add(descriptor);
|
||||
|
||||
// Clean up
|
||||
descriptor.postParse(stream);
|
||||
} catch (Exception ex) {
|
||||
Log.e(TAG, "Exception parsing USB descriptors.", ex);
|
||||
}
|
||||
|
||||
// Its OK to add the invalid descriptor as the postParse()
|
||||
// routine will mark it as invalid.
|
||||
mDescriptors.add(descriptor);
|
||||
|
||||
// Clean up
|
||||
descriptor.postParse(stream);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user