Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "device/usb/usb_device_android.h" | 5 #include "device/usb/usb_device_android.h" |
| 6 | 6 |
| 7 #include "base/android/build_info.h" | 7 #include "base/android/build_info.h" |
| 8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 28 JNIEnv* env, | 28 JNIEnv* env, |
| 29 base::WeakPtr<UsbServiceAndroid> service, | 29 base::WeakPtr<UsbServiceAndroid> service, |
| 30 const JavaRef<jobject>& usb_device) { | 30 const JavaRef<jobject>& usb_device) { |
| 31 ScopedJavaLocalRef<jobject> wrapper = | 31 ScopedJavaLocalRef<jobject> wrapper = |
| 32 Java_ChromeUsbDevice_create(env, usb_device); | 32 Java_ChromeUsbDevice_create(env, usb_device); |
| 33 uint16_t device_version = 0; | 33 uint16_t device_version = 0; |
| 34 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 23) | 34 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 23) |
| 35 device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper); | 35 device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper); |
| 36 base::string16 manufacturer_string, product_string, serial_number; | 36 base::string16 manufacturer_string, product_string, serial_number; |
| 37 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) { | 37 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) { |
| 38 manufacturer_string = ConvertJavaStringToUTF16( | 38 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.
| |
| 39 env, Java_ChromeUsbDevice_getManufacturerName(env, wrapper)); | 39 Java_ChromeUsbDevice_getManufacturerName(env, wrapper); |
| 40 product_string = ConvertJavaStringToUTF16( | 40 if (!manufacturer_jstring.is_null()) |
| 41 env, Java_ChromeUsbDevice_getProductName(env, wrapper)); | 41 manufacturer_string = ConvertJavaStringToUTF16(env, manufacturer_jstring); |
| 42 serial_number = ConvertJavaStringToUTF16( | 42 const JavaRef<jstring>& product_jstring = |
| 43 env, Java_ChromeUsbDevice_getSerialNumber(env, wrapper)); | 43 Java_ChromeUsbDevice_getProductName(env, wrapper); |
| 44 if (!product_jstring.is_null()) | |
| 45 product_string = ConvertJavaStringToUTF16(env, product_jstring); | |
| 46 const JavaRef<jstring>& serial_jstring = | |
| 47 Java_ChromeUsbDevice_getSerialNumber(env, wrapper); | |
| 48 if (!serial_jstring.is_null()) | |
| 49 serial_number = ConvertJavaStringToUTF16(env, serial_jstring); | |
| 44 } | 50 } |
| 45 return make_scoped_refptr(new UsbDeviceAndroid( | 51 return make_scoped_refptr(new UsbDeviceAndroid( |
| 46 env, service, | 52 env, service, |
| 47 0x0200, // USB protocol version, not provided by the Android API. | 53 0x0200, // USB protocol version, not provided by the Android API. |
| 48 Java_ChromeUsbDevice_getDeviceClass(env, wrapper), | 54 Java_ChromeUsbDevice_getDeviceClass(env, wrapper), |
| 49 Java_ChromeUsbDevice_getDeviceSubclass(env, wrapper), | 55 Java_ChromeUsbDevice_getDeviceSubclass(env, wrapper), |
| 50 Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper), | 56 Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper), |
| 51 Java_ChromeUsbDevice_getVendorId(env, wrapper), | 57 Java_ChromeUsbDevice_getVendorId(env, wrapper), |
| 52 Java_ChromeUsbDevice_getProductId(env, wrapper), device_version, | 58 Java_ChromeUsbDevice_getProductId(env, wrapper), device_version, |
| 53 manufacturer_string, product_string, serial_number, wrapper)); | 59 manufacturer_string, product_string, serial_number, wrapper)); |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 197 scoped_refptr<UsbDeviceHandle> device_handle, | 203 scoped_refptr<UsbDeviceHandle> device_handle, |
| 198 const GURL& landing_page) { | 204 const GURL& landing_page) { |
| 199 if (landing_page.is_valid()) | 205 if (landing_page.is_valid()) |
| 200 webusb_landing_page_ = landing_page; | 206 webusb_landing_page_ = landing_page; |
| 201 | 207 |
| 202 device_handle->Close(); | 208 device_handle->Close(); |
| 203 CallRequestPermissionCallbacks(true); | 209 CallRequestPermissionCallbacks(true); |
| 204 } | 210 } |
| 205 | 211 |
| 206 } // namespace device | 212 } // namespace device |
| OLD | NEW |