Index: device/usb/usb_device_android.cc |
diff --git a/device/usb/usb_device_android.cc b/device/usb/usb_device_android.cc |
index 72b496f44ed28e1094c39bedb80ec689d1d1b713..dd836f691f82751ea2d64e26fb3a2cb179df14ef 100644 |
--- a/device/usb/usb_device_android.cc |
+++ b/device/usb/usb_device_android.cc |
@@ -35,12 +35,18 @@ scoped_refptr<UsbDeviceAndroid> UsbDeviceAndroid::Create( |
device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper); |
base::string16 manufacturer_string, product_string, serial_number; |
if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) { |
- manufacturer_string = ConvertJavaStringToUTF16( |
- env, Java_ChromeUsbDevice_getManufacturerName(env, wrapper)); |
- product_string = ConvertJavaStringToUTF16( |
- env, Java_ChromeUsbDevice_getProductName(env, wrapper)); |
- serial_number = ConvertJavaStringToUTF16( |
- env, Java_ChromeUsbDevice_getSerialNumber(env, wrapper)); |
+ const JavaRef<jstring>& manufacturer_jstring = |
Reilly Grant (use Gerrit)
2017/05/30 18:50:29
These locals must be ScopedJavaLocalRef<jstring>.
Igor Eremeev
2017/05/31 06:50:43
Const ref binding would've saved the day :) Howeve
Igor Eremeev
2017/05/31 06:50:43
Done.
|
+ Java_ChromeUsbDevice_getManufacturerName(env, wrapper); |
+ if (!manufacturer_jstring.is_null()) |
+ manufacturer_string = ConvertJavaStringToUTF16(env, manufacturer_jstring); |
+ const JavaRef<jstring>& product_jstring = |
+ Java_ChromeUsbDevice_getProductName(env, wrapper); |
+ if (!product_jstring.is_null()) |
+ product_string = ConvertJavaStringToUTF16(env, product_jstring); |
+ const JavaRef<jstring>& serial_jstring = |
+ Java_ChromeUsbDevice_getSerialNumber(env, wrapper); |
+ if (!serial_jstring.is_null()) |
+ serial_number = ConvertJavaStringToUTF16(env, serial_jstring); |
} |
return make_scoped_refptr(new UsbDeviceAndroid( |
env, service, |