Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(664)

Side by Side Diff: device/usb/usb_service_android.cc

Issue 2849953003: Use the task scheduler for blocking tasks in the USB service on Linux (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_service_android.h" 5 #include "device/usb/usb_service_android.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/android/context_utils.h" 10 #include "base/android/context_utils.h"
(...skipping 21 matching lines...) Expand all
32 JNIEnv* env = AttachCurrentThread(); 32 JNIEnv* env = AttachCurrentThread();
33 j_object_.Reset( 33 j_object_.Reset(
34 Java_ChromeUsbService_create(env, base::android::GetApplicationContext(), 34 Java_ChromeUsbService_create(env, base::android::GetApplicationContext(),
35 reinterpret_cast<jlong>(this))); 35 reinterpret_cast<jlong>(this)));
36 ScopedJavaLocalRef<jobjectArray> devices = 36 ScopedJavaLocalRef<jobjectArray> devices =
37 Java_ChromeUsbService_getDevices(env, j_object_); 37 Java_ChromeUsbService_getDevices(env, j_object_);
38 jsize length = env->GetArrayLength(devices.obj()); 38 jsize length = env->GetArrayLength(devices.obj());
39 for (jsize i = 0; i < length; ++i) { 39 for (jsize i = 0; i < length; ++i) {
40 ScopedJavaLocalRef<jobject> usb_device( 40 ScopedJavaLocalRef<jobject> usb_device(
41 env, env->GetObjectArrayElement(devices.obj(), i)); 41 env, env->GetObjectArrayElement(devices.obj(), i));
42 scoped_refptr<UsbDeviceAndroid> device(UsbDeviceAndroid::Create( 42 scoped_refptr<UsbDeviceAndroid> device =
43 env, weak_factory_.GetWeakPtr(), blocking_task_runner, usb_device)); 43 UsbDeviceAndroid::Create(env, weak_factory_.GetWeakPtr(), usb_device);
44 AddDevice(device); 44 AddDevice(device);
45 } 45 }
46 } 46 }
47 47
48 UsbServiceAndroid::~UsbServiceAndroid() { 48 UsbServiceAndroid::~UsbServiceAndroid() {
49 JNIEnv* env = AttachCurrentThread(); 49 JNIEnv* env = AttachCurrentThread();
50 Java_ChromeUsbService_close(env, j_object_); 50 Java_ChromeUsbService_close(env, j_object_);
51 } 51 }
52 52
53 void UsbServiceAndroid::DeviceAttached(JNIEnv* env, 53 void UsbServiceAndroid::DeviceAttached(JNIEnv* env,
54 const JavaRef<jobject>& caller, 54 const JavaRef<jobject>& caller,
55 const JavaRef<jobject>& usb_device) { 55 const JavaRef<jobject>& usb_device) {
56 scoped_refptr<UsbDeviceAndroid> device(UsbDeviceAndroid::Create( 56 scoped_refptr<UsbDeviceAndroid> device =
57 env, weak_factory_.GetWeakPtr(), blocking_task_runner(), usb_device)); 57 UsbDeviceAndroid::Create(env, weak_factory_.GetWeakPtr(), usb_device);
58 AddDevice(device); 58 AddDevice(device);
59 NotifyDeviceAdded(device); 59 NotifyDeviceAdded(device);
60 } 60 }
61 61
62 void UsbServiceAndroid::DeviceDetached(JNIEnv* env, 62 void UsbServiceAndroid::DeviceDetached(JNIEnv* env,
63 const JavaRef<jobject>& caller, 63 const JavaRef<jobject>& caller,
64 jint device_id) { 64 jint device_id) {
65 auto it = devices_by_id_.find(device_id); 65 auto it = devices_by_id_.find(device_id);
66 if (it == devices_by_id_.end()) 66 if (it == devices_by_id_.end())
67 return; 67 return;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 107
108 USB_LOG(USER) << "USB device added: id=" << device->device_id() 108 USB_LOG(USER) << "USB device added: id=" << device->device_id()
109 << " vendor=" << device->vendor_id() << " \"" 109 << " vendor=" << device->vendor_id() << " \""
110 << device->manufacturer_string() 110 << device->manufacturer_string()
111 << "\", product=" << device->product_id() << " \"" 111 << "\", product=" << device->product_id() << " \""
112 << device->product_string() << "\", serial=\"" 112 << device->product_string() << "\", serial=\""
113 << device->serial_number() << "\", guid=" << device->guid(); 113 << device->serial_number() << "\", guid=" << device->guid();
114 } 114 }
115 115
116 } // namespace device 116 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698