| 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 | 28 |
| 29 // static | 29 // static |
| 30 scoped_refptr<UsbDeviceAndroid> UsbDeviceAndroid::Create( | 30 scoped_refptr<UsbDeviceAndroid> UsbDeviceAndroid::Create( |
| 31 JNIEnv* env, | 31 JNIEnv* env, |
| 32 const JavaRef<jobject>& usb_device) { | 32 const JavaRef<jobject>& usb_device) { |
| 33 ScopedJavaLocalRef<jobject> wrapper = | 33 ScopedJavaLocalRef<jobject> wrapper = |
| 34 Java_ChromeUsbDevice_create(env, usb_device.obj()); | 34 Java_ChromeUsbDevice_create(env, usb_device.obj()); |
| 35 uint16_t device_version = 0; | 35 uint16_t device_version = 0; |
| 36 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 23) | 36 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 23) |
| 37 device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper.obj()); | 37 device_version = Java_ChromeUsbDevice_getDeviceVersion(env, wrapper.obj()); |
| 38 ScopedJavaLocalRef<jstring> manufacturer_string = | 38 base::string16 manufacturer_string, product_string, serial_number; |
| 39 Java_ChromeUsbDevice_getManufacturerName(env, wrapper.obj()); | 39 if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) { |
| 40 ScopedJavaLocalRef<jstring> product_string = | 40 manufacturer_string = ConvertJavaStringToUTF16( |
| 41 Java_ChromeUsbDevice_getProductName(env, wrapper.obj()); | 41 env, Java_ChromeUsbDevice_getManufacturerName(env, wrapper.obj())); |
| 42 ScopedJavaLocalRef<jstring> serial_number = | 42 product_string = ConvertJavaStringToUTF16( |
| 43 Java_ChromeUsbDevice_getSerialNumber(env, wrapper.obj()); | 43 env, Java_ChromeUsbDevice_getProductName(env, wrapper.obj())); |
| 44 serial_number = ConvertJavaStringToUTF16( |
| 45 env, Java_ChromeUsbDevice_getSerialNumber(env, wrapper.obj())); |
| 46 } |
| 44 return make_scoped_refptr(new UsbDeviceAndroid( | 47 return make_scoped_refptr(new UsbDeviceAndroid( |
| 45 env, | 48 env, |
| 46 0x0200, // USB protocol version, not provided by the Android API. | 49 0x0200, // USB protocol version, not provided by the Android API. |
| 47 Java_ChromeUsbDevice_getDeviceClass(env, wrapper.obj()), | 50 Java_ChromeUsbDevice_getDeviceClass(env, wrapper.obj()), |
| 48 Java_ChromeUsbDevice_getDeviceSubclass(env, wrapper.obj()), | 51 Java_ChromeUsbDevice_getDeviceSubclass(env, wrapper.obj()), |
| 49 Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper.obj()), | 52 Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper.obj()), |
| 50 Java_ChromeUsbDevice_getVendorId(env, wrapper.obj()), | 53 Java_ChromeUsbDevice_getVendorId(env, wrapper.obj()), |
| 51 Java_ChromeUsbDevice_getProductId(env, wrapper.obj()), device_version, | 54 Java_ChromeUsbDevice_getProductId(env, wrapper.obj()), device_version, |
| 52 ConvertJavaStringToUTF16(env, manufacturer_string), | 55 manufacturer_string, product_string, serial_number, wrapper)); |
| 53 ConvertJavaStringToUTF16(env, product_string), | |
| 54 ConvertJavaStringToUTF16(env, serial_number), wrapper)); | |
| 55 } | 56 } |
| 56 | 57 |
| 57 void UsbDeviceAndroid::Open(const OpenCallback& callback) { | 58 void UsbDeviceAndroid::Open(const OpenCallback& callback) { |
| 58 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, | 59 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, |
| 59 base::Bind(callback, nullptr)); | 60 base::Bind(callback, nullptr)); |
| 60 } | 61 } |
| 61 | 62 |
| 62 const UsbConfigDescriptor* UsbDeviceAndroid::GetActiveConfiguration() const { | 63 const UsbConfigDescriptor* UsbDeviceAndroid::GetActiveConfiguration() const { |
| 63 return nullptr; | 64 return nullptr; |
| 64 } | 65 } |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 env, env->GetObjectArrayElement(interfaces.obj(), i)); | 115 env, env->GetObjectArrayElement(interfaces.obj(), i)); |
| 115 config.interfaces.push_back(UsbInterfaceAndroid::Convert(env, interface)); | 116 config.interfaces.push_back(UsbInterfaceAndroid::Convert(env, interface)); |
| 116 } | 117 } |
| 117 configurations_.push_back(config); | 118 configurations_.push_back(config); |
| 118 } | 119 } |
| 119 } | 120 } |
| 120 | 121 |
| 121 UsbDeviceAndroid::~UsbDeviceAndroid() {} | 122 UsbDeviceAndroid::~UsbDeviceAndroid() {} |
| 122 | 123 |
| 123 } // namespace device | 124 } // namespace device |
| OLD | NEW |