Index: device/usb/usb_interface_android.cc |
diff --git a/device/usb/usb_interface_android.cc b/device/usb/usb_interface_android.cc |
index fefe6713f9a40ab93fb35479b0dd9b99d6d34d25..047b035058ac7f51ae1c7eeba1b9f0c05216285c 100644 |
--- a/device/usb/usb_interface_android.cc |
+++ b/device/usb/usb_interface_android.cc |
@@ -4,6 +4,7 @@ |
#include "device/usb/usb_interface_android.h" |
+#include "base/android/build_info.h" |
#include "device/usb/usb_endpoint_android.h" |
#include "jni/ChromeUsbInterface_jni.h" |
@@ -23,9 +24,15 @@ UsbInterfaceDescriptor UsbInterfaceAndroid::Convert( |
ScopedJavaLocalRef<jobject> wrapper = |
Java_ChromeUsbInterface_create(env, usb_interface.obj()); |
+ uint8_t alternate_setting = 0; |
+ if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) { |
+ alternate_setting = |
+ Java_ChromeUsbInterface_getAlternateSetting(env, wrapper.obj()); |
+ } |
+ |
UsbInterfaceDescriptor interface( |
Java_ChromeUsbInterface_getInterfaceNumber(env, wrapper.obj()), |
- Java_ChromeUsbInterface_getAlternateSetting(env, wrapper.obj()), |
+ alternate_setting, |
Java_ChromeUsbInterface_getInterfaceClass(env, wrapper.obj()), |
Java_ChromeUsbInterface_getInterfaceSubclass(env, wrapper.obj()), |
Java_ChromeUsbInterface_getInterfaceProtocol(env, wrapper.obj())); |