summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreillyg <reillyg@chromium.org>2016-01-07 07:17:57 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-07 15:18:57 +0000
commite3de6dea8003be39328bea275763daab36a8df24 (patch)
treef73d5a2f93d428ec23da011814b85fdf1adc9a11
parentd3400094071c49ee5d21761eefdcda3f0ca08192 (diff)
downloadchromium_src-e3de6dea8003be39328bea275763daab36a8df24.zip
chromium_src-e3de6dea8003be39328bea275763daab36a8df24.tar.gz
chromium_src-e3de6dea8003be39328bea275763daab36a8df24.tar.bz2
Revert of Implement basic USB device enumeration on Android. (patchset #3 id:40001 of https://codereview.chromium.org/1514603006/ )
Reason for revert: Speculating that this is the cause of issue 575191. Original issue's description: > Implement basic USB device enumeration on Android. > > This patch provides a basic implementation of UsbService::GetDevices on > Android that populates UsbDevice objects by collecting properties of the > Java-side UsbDevice, UsbConfiguration, UsbInterface and UsbEndpoint > objects over JNI. > > It does not support opening devices and does not generate device add or > remove notifications. > > BUG=549257 > > Committed: https://crrev.com/8a310851fb144e91d1777112930ac15c0d88577b > Cr-Commit-Position: refs/heads/master@{#367918} TBR=nasko@chromium.org,qinmin@chromium.org,yfriedman@chromium.org,pfeldman@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=549257,575191 Review URL: https://codereview.chromium.org/1561283003 Cr-Commit-Position: refs/heads/master@{#368077}
-rw-r--r--chrome/browser/devtools/device/usb/android_usb_browsertest.cc4
-rw-r--r--content/app/DEPS1
-rw-r--r--content/app/android/library_loader_hooks.cc4
-rw-r--r--content/content_browser.gypi1
-rw-r--r--content/public/android/BUILD.gn1
-rw-r--r--device/test/run_all_unittests.cc2
-rw-r--r--device/usb/BUILD.gn50
-rw-r--r--device/usb/DEPS1
-rw-r--r--device/usb/android/java/src/org/chromium/device/usb/ChromeUsbConfiguration.java68
-rw-r--r--device/usb/android/java/src/org/chromium/device/usb/ChromeUsbDevice.java84
-rw-r--r--device/usb/android/java/src/org/chromium/device/usb/ChromeUsbEndpoint.java83
-rw-r--r--device/usb/android/java/src/org/chromium/device/usb/ChromeUsbInterface.java70
-rw-r--r--device/usb/android/java/src/org/chromium/device/usb/ChromeUsbService.java45
-rw-r--r--device/usb/android/usb_jni_registrar.cc35
-rw-r--r--device/usb/android/usb_jni_registrar.h22
-rw-r--r--device/usb/mock_usb_device.h5
-rw-r--r--device/usb/usb.gyp62
-rw-r--r--device/usb/usb_configuration_android.cc49
-rw-r--r--device/usb/usb_configuration_android.h25
-rw-r--r--device/usb/usb_descriptors.h4
-rw-r--r--device/usb/usb_device.h5
-rw-r--r--device/usb/usb_device_android.cc107
-rw-r--r--device/usb/usb_device_android.h42
-rw-r--r--device/usb/usb_device_impl.cc5
-rw-r--r--device/usb/usb_device_impl.h4
-rw-r--r--device/usb/usb_endpoint_android.cc41
-rw-r--r--device/usb/usb_endpoint_android.h25
-rw-r--r--device/usb/usb_interface_android.cc51
-rw-r--r--device/usb/usb_interface_android.h25
-rw-r--r--device/usb/usb_service_android.cc35
-rw-r--r--device/usb/usb_service_android.h11
31 files changed, 27 insertions, 940 deletions
diff --git a/chrome/browser/devtools/device/usb/android_usb_browsertest.cc b/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
index 91307a8..d7fbbf9 100644
--- a/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
+++ b/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
@@ -427,6 +427,10 @@ class MockUsbDevice : public UsbDevice {
return T::kConfigured ? &config_desc_ : nullptr;
}
+ bool Close(scoped_refptr<UsbDeviceHandle> handle) override {
+ return true;
+ }
+
std::set<int> claimed_interfaces_;
protected:
diff --git a/content/app/DEPS b/content/app/DEPS
index 7745238..f4792db 100644
--- a/content/app/DEPS
+++ b/content/app/DEPS
@@ -3,7 +3,6 @@ include_rules = [
"+content",
"+device/battery",
"+device/bluetooth",
- "+device/usb",
"+device/vibration",
# For loading V8's initial snapshot from external files.
"+gin/public/isolate_holder.h",
diff --git a/content/app/android/library_loader_hooks.cc b/content/app/android/library_loader_hooks.cc
index 21e51b3..487d973 100644
--- a/content/app/android/library_loader_hooks.cc
+++ b/content/app/android/library_loader_hooks.cc
@@ -26,7 +26,6 @@
#include "content/public/common/content_switches.h"
#include "content/public/common/result_codes.h"
#include "device/bluetooth/android/bluetooth_jni_registrar.h"
-#include "device/usb/android/usb_jni_registrar.h"
#include "media/base/android/media_jni_registrar.h"
#include "media/midi/midi_jni_registrar.h"
#include "net/android/net_jni_registrar.h"
@@ -76,9 +75,6 @@ bool EnsureJniRegistered(JNIEnv* env) {
if (!device::android::RegisterBluetoothJni(env))
return false;
- if (!device::android::RegisterUsbJni(env))
- return false;
-
if (!media::RegisterJni(env))
return false;
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index 30492a6..25ef44d6 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -1871,7 +1871,6 @@
'../components/mime_util/mime_util.gyp:mime_util',
'../components/scheduler/scheduler.gyp:scheduler_common',
'../device/bluetooth/bluetooth.gyp:device_bluetooth',
- '../device/usb/usb.gyp:device_usb',
'../gin/gin.gyp:gin',
'../net/net.gyp:http_server',
'../storage/storage_browser.gyp:storage',
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
index e726c46..bea70b9e 100644
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -35,7 +35,6 @@ android_library("content_java") {
"//device/battery:mojo_bindings_java",
"//device/battery/android:battery_monitor_android",
"//device/bluetooth:java",
- "//device/usb:java",
"//device/vibration:mojo_bindings_java",
"//device/vibration/android:vibration_manager_android",
"//media/base/android:media_java",
diff --git a/device/test/run_all_unittests.cc b/device/test/run_all_unittests.cc
index 76a4996..b70df54 100644
--- a/device/test/run_all_unittests.cc
+++ b/device/test/run_all_unittests.cc
@@ -11,13 +11,11 @@
#if defined(OS_ANDROID)
#include "base/android/jni_android.h"
#include "device/bluetooth/android/bluetooth_jni_registrar.h"
-#include "device/usb/android/usb_jni_registrar.h"
#endif
int main(int argc, char** argv) {
#if defined(OS_ANDROID)
device::android::RegisterBluetoothJni(base::android::AttachCurrentThread());
- device::android::RegisterUsbJni(base::android::AttachCurrentThread());
#endif
base::TestSuite test_suite(argc, argv);
diff --git a/device/usb/BUILD.gn b/device/usb/BUILD.gn
index 6adc36f..99e12ca 100644
--- a/device/usb/BUILD.gn
+++ b/device/usb/BUILD.gn
@@ -6,39 +6,23 @@ import("//build/config/features.gni")
assert(!is_ios)
-if (is_android) {
- import("//build/config/android/rules.gni") # For generate_jni().
-}
-
source_ids = "//third_party/usb_ids/usb.ids"
generated_ids = "$target_gen_dir/usb_ids_gen.cc"
source_set("usb") {
sources = [
- "android/usb_jni_registrar.cc",
- "android/usb_jni_registrar.h",
- "usb_configuration_android.cc",
- "usb_configuration_android.h",
"usb_descriptors.cc",
"usb_descriptors.h",
"usb_device.cc",
"usb_device.h",
- "usb_device_android.cc",
- "usb_device_android.h",
"usb_device_filter.cc",
"usb_device_filter.h",
"usb_device_handle.cc",
"usb_device_handle.h",
- "usb_endpoint_android.cc",
- "usb_endpoint_android.h",
"usb_ids.cc",
"usb_ids.h",
- "usb_interface_android.cc",
- "usb_interface_android.h",
"usb_service.cc",
"usb_service.h",
- "usb_service_android.cc",
- "usb_service_android.h",
"webusb_descriptors.cc",
"webusb_descriptors.h",
generated_ids,
@@ -58,7 +42,10 @@ source_set("usb") {
}
if (is_android) {
- deps += [ ":jni_headers" ]
+ sources += [
+ "usb_service_android.cc",
+ "usb_service_android.h",
+ ]
} else {
sources += [
"usb_context.cc",
@@ -124,32 +111,3 @@ action("usb_device_ids") {
# Only the device_usb target can depend on us.
visibility = [ ":usb" ]
}
-
-if (is_android) {
- java_sources_needing_jni = [
- "android/java/src/org/chromium/device/usb/ChromeUsbConfiguration.java",
- "android/java/src/org/chromium/device/usb/ChromeUsbDevice.java",
- "android/java/src/org/chromium/device/usb/ChromeUsbEndpoint.java",
- "android/java/src/org/chromium/device/usb/ChromeUsbInterface.java",
- "android/java/src/org/chromium/device/usb/ChromeUsbService.java",
- ]
-
- generate_jni("jni_headers") {
- sources = java_sources_needing_jni
- jni_package = "device"
- }
-
- java_cpp_enum("usb_descriptors_javagen") {
- sources = [
- "usb_descriptors.h",
- ]
- }
-
- android_library("java") {
- java_files = java_sources_needing_jni
- deps = [
- "//base:base_java",
- ]
- srcjar_deps = [ ":usb_descriptors_javagen" ]
- }
-}
diff --git a/device/usb/DEPS b/device/usb/DEPS
index b1c259f..25ff287 100644
--- a/device/usb/DEPS
+++ b/device/usb/DEPS
@@ -1,7 +1,6 @@
include_rules = [
"+chromeos",
"+dbus",
- "+jni",
"-net",
"+net/base",
diff --git a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbConfiguration.java b/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbConfiguration.java
deleted file mode 100644
index 90371e5..0000000
--- a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbConfiguration.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.device.usb;
-
-import android.annotation.TargetApi;
-import android.hardware.usb.UsbConfiguration;
-import android.hardware.usb.UsbInterface;
-import android.os.Build;
-
-import org.chromium.base.Log;
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-
-/**
- * Exposes android.hardware.usb.UsbConfiguration as necessary for C++
- * device::UsbConfigurationAndroid.
- *
- * Lifetime is controlled by device::UsbConfigurationAndroid.
- */
-@JNINamespace("device")
-@TargetApi(Build.VERSION_CODES.LOLLIPOP)
-final class ChromeUsbConfiguration {
- private static final String TAG = "Usb";
-
- final UsbConfiguration mConfiguration;
-
- private ChromeUsbConfiguration(UsbConfiguration configuration) {
- mConfiguration = configuration;
- Log.v(TAG, "ChromeUsbConfiguration created.");
- }
-
- @CalledByNative
- private static ChromeUsbConfiguration create(UsbConfiguration configuration) {
- return new ChromeUsbConfiguration(configuration);
- }
-
- @CalledByNative
- private int getConfigurationValue() {
- return mConfiguration.getId();
- }
-
- @CalledByNative
- private boolean isSelfPowered() {
- return mConfiguration.isSelfPowered();
- }
-
- @CalledByNative
- private boolean isRemoteWakeup() {
- return mConfiguration.isRemoteWakeup();
- }
-
- @CalledByNative
- private int getMaxPower() {
- return mConfiguration.getMaxPower();
- }
-
- @CalledByNative
- private UsbInterface[] getInterfaces() {
- int count = mConfiguration.getInterfaceCount();
- UsbInterface[] interfaces = new UsbInterface[count];
- for (int i = 0; i < count; ++i) {
- interfaces[i] = mConfiguration.getInterface(i);
- }
- return interfaces;
- }
-}
diff --git a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbDevice.java b/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbDevice.java
deleted file mode 100644
index 92e4e14..0000000
--- a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbDevice.java
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.device.usb;
-
-import android.annotation.TargetApi;
-import android.hardware.usb.UsbConfiguration;
-import android.hardware.usb.UsbDevice;
-import android.hardware.usb.UsbInterface;
-import android.os.Build;
-
-import org.chromium.base.Log;
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-
-/**
- * Exposes android.hardware.usb.UsbDevice as necessary for C++
- * device::UsbDeviceAndroid.
- *
- * Lifetime is controlled by device::UsbDeviceAndroid.
- */
-@JNINamespace("device")
-final class ChromeUsbDevice {
- private static final String TAG = "Usb";
-
- final UsbDevice mDevice;
-
- private ChromeUsbDevice(UsbDevice device) {
- mDevice = device;
- Log.v(TAG, "ChromeUsbDevice created.");
- }
-
- @CalledByNative
- private static ChromeUsbDevice create(UsbDevice device) {
- return new ChromeUsbDevice(device);
- }
-
- @CalledByNative
- private int getVendorId() {
- return mDevice.getVendorId();
- }
-
- @CalledByNative
- private int getProductId() {
- return mDevice.getProductId();
- }
-
- @CalledByNative
- private String getManufacturerName() {
- return mDevice.getManufacturerName();
- }
-
- @CalledByNative
- private String getProductName() {
- return mDevice.getProductName();
- }
-
- @CalledByNative
- private String getSerialNumber() {
- return mDevice.getSerialNumber();
- }
-
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- @CalledByNative
- private UsbConfiguration[] getConfigurations() {
- int count = mDevice.getConfigurationCount();
- UsbConfiguration[] configurations = new UsbConfiguration[count];
- for (int i = 0; i < count; ++i) {
- configurations[i] = mDevice.getConfiguration(i);
- }
- return configurations;
- }
-
- @CalledByNative
- private UsbInterface[] getInterfaces() {
- int count = mDevice.getInterfaceCount();
- UsbInterface[] interfaces = new UsbInterface[count];
- for (int i = 0; i < count; ++i) {
- interfaces[i] = mDevice.getInterface(i);
- }
- return interfaces;
- }
-}
diff --git a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbEndpoint.java b/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbEndpoint.java
deleted file mode 100644
index 135dc51..0000000
--- a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbEndpoint.java
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.device.usb;
-
-import android.hardware.usb.UsbConstants;
-import android.hardware.usb.UsbEndpoint;
-
-import org.chromium.base.Log;
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-
-/**
- * Exposes android.hardware.usb.UsbEndpoint as necessary for C++
- * device::UsbEndpointAndroid.
- *
- * Lifetime is controlled by device::UsbEndpointAndroid.
- */
-@JNINamespace("device")
-final class ChromeUsbEndpoint {
- private static final String TAG = "Usb";
-
- final UsbEndpoint mEndpoint;
-
- private ChromeUsbEndpoint(UsbEndpoint endpoint) {
- mEndpoint = endpoint;
- Log.v(TAG, "ChromeUsbEndpoint created.");
- }
-
- @CalledByNative
- private static ChromeUsbEndpoint create(UsbEndpoint endpoint) {
- return new ChromeUsbEndpoint(endpoint);
- }
-
- @CalledByNative
- private int getAddress() {
- return mEndpoint.getAddress();
- }
-
- @CalledByNative
- private int getDirection() {
- switch (mEndpoint.getDirection()) {
- case UsbConstants.USB_DIR_IN:
- return UsbEndpointDirection.USB_DIRECTION_INBOUND;
- case UsbConstants.USB_DIR_OUT:
- return UsbEndpointDirection.USB_DIRECTION_OUTBOUND;
- default:
- throw new AssertionError();
- }
- }
-
- @CalledByNative
- private int getMaxPacketSize() {
- return mEndpoint.getMaxPacketSize();
- }
-
- @CalledByNative
- private int getAttributes() {
- return mEndpoint.getAttributes();
- }
-
- @CalledByNative
- private int getType() {
- switch (mEndpoint.getType()) {
- case UsbConstants.USB_ENDPOINT_XFER_CONTROL:
- return UsbTransferType.USB_TRANSFER_CONTROL;
- case UsbConstants.USB_ENDPOINT_XFER_ISOC:
- return UsbTransferType.USB_TRANSFER_ISOCHRONOUS;
- case UsbConstants.USB_ENDPOINT_XFER_BULK:
- return UsbTransferType.USB_TRANSFER_BULK;
- case UsbConstants.USB_ENDPOINT_XFER_INT:
- return UsbTransferType.USB_TRANSFER_INTERRUPT;
- default:
- throw new AssertionError();
- }
- }
-
- @CalledByNative
- private int getInterval() {
- return mEndpoint.getInterval();
- }
-}
diff --git a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbInterface.java b/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbInterface.java
deleted file mode 100644
index cd4f492..0000000
--- a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbInterface.java
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.device.usb;
-
-import android.hardware.usb.UsbEndpoint;
-import android.hardware.usb.UsbInterface;
-
-import org.chromium.base.Log;
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-
-/**
- * Exposes android.hardware.usb.UsbInterface as necessary for C++
- * device::UsbInterfaceAndroid.
- *
- * Lifetime is controlled by device::UsbInterfaceAndroid.
- */
-@JNINamespace("device")
-final class ChromeUsbInterface {
- private static final String TAG = "Usb";
-
- final UsbInterface mInterface;
-
- private ChromeUsbInterface(UsbInterface iface) {
- mInterface = iface;
- Log.v(TAG, "ChromeUsbInterface created.");
- }
-
- @CalledByNative
- private static ChromeUsbInterface create(UsbInterface iface) {
- return new ChromeUsbInterface(iface);
- }
-
- @CalledByNative
- private int getInterfaceNumber() {
- return mInterface.getId();
- }
-
- @CalledByNative
- private int getAlternateSetting() {
- return mInterface.getAlternateSetting();
- }
-
- @CalledByNative
- private int getInterfaceClass() {
- return mInterface.getInterfaceClass();
- }
-
- @CalledByNative
- private int getInterfaceSubclass() {
- return mInterface.getInterfaceSubclass();
- }
-
- @CalledByNative
- private int getInterfaceProtocol() {
- return mInterface.getInterfaceProtocol();
- }
-
- @CalledByNative
- private UsbEndpoint[] getEndpoints() {
- int count = mInterface.getEndpointCount();
- UsbEndpoint[] endpoints = new UsbEndpoint[count];
- for (int i = 0; i < count; ++i) {
- endpoints[i] = mInterface.getEndpoint(i);
- }
- return endpoints;
- }
-}
diff --git a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbService.java b/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbService.java
deleted file mode 100644
index 834ddb1..0000000
--- a/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbService.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.device.usb;
-
-import android.content.Context;
-import android.hardware.usb.UsbDevice;
-import android.hardware.usb.UsbManager;
-
-import org.chromium.base.Log;
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-
-import java.util.HashMap;
-
-/**
- * Exposes android.hardware.usb.UsbManager as necessary for C++
- * device::UsbServiceAndroid.
- *
- * Lifetime is controlled by device::UsbServiceAndroid.
- */
-@JNINamespace("device")
-final class ChromeUsbService {
- private static final String TAG = "Usb";
-
- Context mContext;
-
- private ChromeUsbService(Context context) {
- mContext = context;
- Log.v(TAG, "ChromeUsbService created.");
- }
-
- @CalledByNative
- private static ChromeUsbService create(Context context) {
- return new ChromeUsbService(context);
- }
-
- @CalledByNative
- private Object[] getDevices() {
- UsbManager manager = (UsbManager) mContext.getSystemService(Context.USB_SERVICE);
- HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
- return deviceList.values().toArray();
- }
-}
diff --git a/device/usb/android/usb_jni_registrar.cc b/device/usb/android/usb_jni_registrar.cc
deleted file mode 100644
index 1e53c5b..0000000
--- a/device/usb/android/usb_jni_registrar.cc
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/usb/android/usb_jni_registrar.h"
-
-#include "base/android/jni_android.h"
-#include "base/android/jni_registrar.h"
-#include "device/usb/usb_configuration_android.h"
-#include "device/usb/usb_device_android.h"
-#include "device/usb/usb_endpoint_android.h"
-#include "device/usb/usb_interface_android.h"
-#include "device/usb/usb_service_android.h"
-
-namespace device {
-namespace android {
-namespace {
-
-const base::android::RegistrationMethod kRegisteredMethods[] = {
- {"UsbConfigurationAndroid", device::UsbConfigurationAndroid::RegisterJNI},
- {"UsbDeviceAndroid", device::UsbDeviceAndroid::RegisterJNI},
- {"UsbEndpointAndroid", device::UsbEndpointAndroid::RegisterJNI},
- {"UsbInterfaceAndroid", device::UsbInterfaceAndroid::RegisterJNI},
- {"UsbServiceAndroid", device::UsbServiceAndroid::RegisterJNI},
-};
-
-} // namespace
-
-bool RegisterUsbJni(JNIEnv* env) {
- return RegisterNativeMethods(env, kRegisteredMethods,
- arraysize(kRegisteredMethods));
-}
-
-} // namespace android
-} // namespace device
diff --git a/device/usb/android/usb_jni_registrar.h b/device/usb/android/usb_jni_registrar.h
deleted file mode 100644
index a691583..0000000
--- a/device/usb/android/usb_jni_registrar.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef DEVICE_USB_ANDROID_USB_JNI_REGISTRAR_H_
-#define DEVICE_USB_ANDROID_USB_JNI_REGISTRAR_H_
-
-#include <jni.h>
-
-namespace device {
-namespace android {
-
-// Registers C++ methods in device/usb classes with JNI.
-// See https://www.chromium.org/developers/design-documents/android-jni
-//
-// Must be called before classes in the USB module are used.
-bool RegisterUsbJni(JNIEnv* env);
-
-} // namespace android
-} // namespace device
-
-#endif // DEVICE_USB_ANDROID_USB_JNI_REGISTRAR_H_
diff --git a/device/usb/mock_usb_device.h b/device/usb/mock_usb_device.h
index 91bb0bb..c25a915 100644
--- a/device/usb/mock_usb_device.h
+++ b/device/usb/mock_usb_device.h
@@ -5,12 +5,12 @@
#ifndef DEVICE_USB_MOCK_USB_DEVICE_H_
#define DEVICE_USB_MOCK_USB_DEVICE_H_
+#include "device/usb/usb_device.h"
+
#include <stdint.h>
#include <string>
-#include <vector>
-#include "device/usb/usb_device.h"
#include "device/usb/usb_device_handle.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -41,6 +41,7 @@ class MockUsbDevice : public UsbDevice {
const std::vector<UsbConfigDescriptor>& configurations);
MOCK_METHOD1(Open, void(const OpenCallback&));
+ MOCK_METHOD1(Close, bool(scoped_refptr<UsbDeviceHandle>));
MOCK_METHOD0(GetActiveConfiguration, const device::UsbConfigDescriptor*());
private:
diff --git a/device/usb/usb.gyp b/device/usb/usb.gyp
index a68b187..453ba1a 100644
--- a/device/usb/usb.gyp
+++ b/device/usb/usb.gyp
@@ -20,10 +20,6 @@
'../..',
],
'sources': [
- 'android/usb_jni_registrar.cc',
- 'android/usb_jni_registrar.h',
- 'usb_configuration_android.cc',
- 'usb_configuration_android.h',
'usb_context.cc',
'usb_context.h',
'usb_descriptors.cc',
@@ -32,26 +28,18 @@
'usb_device_impl.h',
'usb_device.cc',
'usb_device.h',
- 'usb_device_android.cc',
- 'usb_device_android.h',
'usb_device_filter.cc',
'usb_device_filter.h',
'usb_device_handle_impl.cc',
'usb_device_handle_impl.h',
'usb_device_handle.cc',
'usb_device_handle.h',
- 'usb_endpoint_android.cc',
- 'usb_endpoint_android.h',
'usb_error.cc',
'usb_error.h',
'usb_ids.cc',
'usb_ids.h',
- 'usb_interface_android.cc',
- 'usb_interface_android.h',
'usb_service.cc',
'usb_service.h',
- 'usb_service_android.cc',
- 'usb_service_android.h',
'usb_service_impl.cc',
'usb_service_impl.h',
'webusb_descriptors.cc',
@@ -87,14 +75,13 @@
],
}],
['OS=="android"', {
- 'dependencies': [
- 'device_usb_java',
- 'device_usb_jni_headers',
- ],
'dependencies!': [
'../../third_party/libusb/libusb.gyp:libusb',
],
- # These sources are libusb-specific.
+ 'sources': [
+ 'usb_service_android.cc',
+ 'usb_service_android.h',
+ ],
'sources!': [
'usb_context.cc',
'usb_context.h',
@@ -135,45 +122,4 @@
],
},
],
- 'conditions': [
- ['OS == "android"', {
- 'targets': [
- {
- 'target_name': 'device_usb_jni_headers',
- 'type': 'none',
- 'sources': [
- 'android/java/src/org/chromium/device/usb/ChromeUsbConfiguration.java',
- 'android/java/src/org/chromium/device/usb/ChromeUsbDevice.java',
- 'android/java/src/org/chromium/device/usb/ChromeUsbEndpoint.java',
- 'android/java/src/org/chromium/device/usb/ChromeUsbInterface.java',
- 'android/java/src/org/chromium/device/usb/ChromeUsbService.java',
- ],
- 'variables': {
- 'jni_gen_package': 'device_usb',
- },
- 'includes': [ '../../build/jni_generator.gypi' ],
- },
- {
- 'target_name': 'device_usb_java',
- 'type': 'none',
- 'dependencies': [
- 'usb_descriptors_javagen',
- '../../base/base.gyp:base',
- ],
- 'variables': {
- 'java_in_dir': '../../device/usb/android/java',
- },
- 'includes': [ '../../build/java.gypi' ],
- },
- {
- 'target_name': 'usb_descriptors_javagen',
- 'type': 'none',
- 'variables': {
- 'source_file': 'usb_descriptors.h',
- },
- 'includes': [ '../../build/android/java_cpp_enum.gypi' ],
- },
- ],
- }],
- ],
}
diff --git a/device/usb/usb_configuration_android.cc b/device/usb/usb_configuration_android.cc
deleted file mode 100644
index 4a9c712..0000000
--- a/device/usb/usb_configuration_android.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/usb/usb_configuration_android.h"
-
-#include "device/usb/usb_interface_android.h"
-#include "jni/ChromeUsbConfiguration_jni.h"
-
-using base::android::ScopedJavaLocalRef;
-
-namespace device {
-
-// static
-bool UsbConfigurationAndroid::RegisterJNI(JNIEnv* env) {
- return RegisterNativesImpl(env); // Generated in ChromeUsbConfiguration_jni.h
-}
-
-// static
-UsbConfigDescriptor UsbConfigurationAndroid::Convert(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_configuration) {
- ScopedJavaLocalRef<jobject> wrapper =
- Java_ChromeUsbConfiguration_create(env, usb_configuration.obj());
-
- UsbConfigDescriptor config;
- config.configuration_value =
- Java_ChromeUsbConfiguration_getConfigurationValue(env, wrapper.obj());
- config.self_powered =
- Java_ChromeUsbConfiguration_isSelfPowered(env, wrapper.obj());
- config.remote_wakeup =
- Java_ChromeUsbConfiguration_isRemoteWakeup(env, wrapper.obj());
- config.maximum_power =
- Java_ChromeUsbConfiguration_getMaxPower(env, wrapper.obj());
-
- ScopedJavaLocalRef<jobjectArray> interfaces =
- Java_ChromeUsbConfiguration_getInterfaces(env, wrapper.obj());
- jsize count = env->GetArrayLength(interfaces.obj());
- config.interfaces.reserve(count);
- for (jsize i = 0; i < count; ++i) {
- ScopedJavaLocalRef<jobject> interface(
- env, env->GetObjectArrayElement(interfaces.obj(), i));
- config.interfaces.push_back(UsbInterfaceAndroid::Convert(env, interface));
- }
-
- return config;
-}
-
-} // namespace device
diff --git a/device/usb/usb_configuration_android.h b/device/usb/usb_configuration_android.h
deleted file mode 100644
index 610ac07..0000000
--- a/device/usb/usb_configuration_android.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef DEVICE_USB_USB_CONFIGURATION_ANDROID_H_
-#define DEVICE_USB_USB_CONFIGURATION_ANDROID_H_
-
-#include "base/android/scoped_java_ref.h"
-#include "device/usb/usb_descriptors.h"
-
-namespace device {
-
-class UsbConfigurationAndroid {
- public:
- // Register C++ methods exposed to Java using JNI.
- static bool RegisterJNI(JNIEnv* env);
-
- static UsbConfigDescriptor Convert(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_configuration);
-};
-
-} // namespace device
-
-#endif // DEVICE_USB_USB_CONFIGURATION_ANDROID_H_
diff --git a/device/usb/usb_descriptors.h b/device/usb/usb_descriptors.h
index adaa0ab..93b6f62 100644
--- a/device/usb/usb_descriptors.h
+++ b/device/usb/usb_descriptors.h
@@ -12,8 +12,6 @@
namespace device {
-// A Java counterpart will be generated for this enum.
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.device.usb
enum UsbTransferType {
USB_TRANSFER_CONTROL = 0,
USB_TRANSFER_ISOCHRONOUS,
@@ -21,8 +19,6 @@ enum UsbTransferType {
USB_TRANSFER_INTERRUPT,
};
-// A Java counterpart will be generated for this enum.
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.device.usb
enum UsbEndpointDirection {
USB_DIRECTION_INBOUND = 0,
USB_DIRECTION_OUTBOUND,
diff --git a/device/usb/usb_device.h b/device/usb/usb_device.h
index 92d0e29..9822a38 100644
--- a/device/usb/usb_device.h
+++ b/device/usb/usb_device.h
@@ -7,7 +7,6 @@
#include <stdint.h>
-#include <string>
#include <vector>
#include "base/callback.h"
@@ -60,6 +59,10 @@ class UsbDevice : public base::RefCountedThreadSafe<UsbDevice> {
// Creates a UsbDeviceHandle for further manipulation.
virtual void Open(const OpenCallback& callback) = 0;
+ // Explicitly closes a device handle. This method will be automatically called
+ // by the destructor of a UsbDeviceHandle as well.
+ virtual bool Close(scoped_refptr<UsbDeviceHandle> handle) = 0;
+
// Gets the UsbConfigDescriptor for the active device configuration or nullptr
// if the device is unconfigured.
virtual const UsbConfigDescriptor* GetActiveConfiguration() = 0;
diff --git a/device/usb/usb_device_android.cc b/device/usb/usb_device_android.cc
deleted file mode 100644
index ee9e93b..0000000
--- a/device/usb/usb_device_android.cc
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/usb/usb_device_android.h"
-
-#include "base/android/build_info.h"
-#include "base/android/jni_string.h"
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/thread_task_runner_handle.h"
-#include "device/usb/usb_configuration_android.h"
-#include "device/usb/usb_device_handle.h"
-#include "device/usb/usb_interface_android.h"
-#include "jni/ChromeUsbDevice_jni.h"
-
-using base::android::AttachCurrentThread;
-using base::android::ConvertJavaStringToUTF16;
-using base::android::JavaRef;
-using base::android::ScopedJavaLocalRef;
-
-namespace device {
-
-// static
-bool UsbDeviceAndroid::RegisterJNI(JNIEnv* env) {
- return RegisterNativesImpl(env); // Generated in ChromeUsbDevice_jni.h
-}
-
-// static
-scoped_refptr<UsbDeviceAndroid> UsbDeviceAndroid::Create(
- JNIEnv* env,
- const JavaRef<jobject>& usb_device) {
- ScopedJavaLocalRef<jobject> wrapper =
- Java_ChromeUsbDevice_create(env, usb_device.obj());
- uint16_t vendor_id = Java_ChromeUsbDevice_getVendorId(env, wrapper.obj());
- uint16_t product_id = Java_ChromeUsbDevice_getProductId(env, wrapper.obj());
- ScopedJavaLocalRef<jstring> manufacturer_string =
- Java_ChromeUsbDevice_getManufacturerName(env, wrapper.obj());
- ScopedJavaLocalRef<jstring> product_string =
- Java_ChromeUsbDevice_getProductName(env, wrapper.obj());
- ScopedJavaLocalRef<jstring> serial_number =
- Java_ChromeUsbDevice_getSerialNumber(env, wrapper.obj());
- return make_scoped_refptr(new UsbDeviceAndroid(
- env, vendor_id, product_id,
- ConvertJavaStringToUTF16(env, manufacturer_string),
- ConvertJavaStringToUTF16(env, product_string),
- ConvertJavaStringToUTF16(env, serial_number), wrapper));
-}
-
-void UsbDeviceAndroid::Open(const OpenCallback& callback) {
- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- base::Bind(callback, nullptr));
-}
-
-const UsbConfigDescriptor* UsbDeviceAndroid::GetActiveConfiguration() {
- return nullptr;
-}
-
-UsbDeviceAndroid::UsbDeviceAndroid(JNIEnv* env,
- uint16_t vendor_id,
- uint16_t product_id,
- const base::string16& manufacturer_string,
- const base::string16& product_string,
- const base::string16& serial_number,
- const JavaRef<jobject>& wrapper)
- : UsbDevice(vendor_id,
- product_id,
- manufacturer_string,
- product_string,
- serial_number) {
- j_object_.Reset(wrapper);
-
- if (base::android::BuildInfo::GetInstance()->sdk_int() >= 21) {
- ScopedJavaLocalRef<jobjectArray> configurations =
- Java_ChromeUsbDevice_getConfigurations(env, j_object_.obj());
- jsize count = env->GetArrayLength(configurations.obj());
- configurations_.reserve(count);
- for (jsize i = 0; i < count; ++i) {
- ScopedJavaLocalRef<jobject> config(
- env, env->GetObjectArrayElement(configurations.obj(), i));
- configurations_.push_back(UsbConfigurationAndroid::Convert(env, config));
- }
- } else {
- // Pre-lollipop only the first configuration was supported. Build a basic
- // configuration out of the available interfaces.
- UsbConfigDescriptor config;
- config.configuration_value = 1; // Reasonable guess.
- config.self_powered = false; // Arbitrary default.
- config.remote_wakeup = false; // Arbitrary default.
- config.maximum_power = 0; // Arbitrary default.
-
- ScopedJavaLocalRef<jobjectArray> interfaces =
- Java_ChromeUsbDevice_getInterfaces(env, wrapper.obj());
- jsize count = env->GetArrayLength(interfaces.obj());
- config.interfaces.reserve(count);
- for (jsize i = 0; i < count; ++i) {
- ScopedJavaLocalRef<jobject> interface(
- env, env->GetObjectArrayElement(interfaces.obj(), i));
- config.interfaces.push_back(UsbInterfaceAndroid::Convert(env, interface));
- }
- configurations_.push_back(config);
- }
-}
-
-UsbDeviceAndroid::~UsbDeviceAndroid() {}
-
-} // namespace device
diff --git a/device/usb/usb_device_android.h b/device/usb/usb_device_android.h
deleted file mode 100644
index ad468913..0000000
--- a/device/usb/usb_device_android.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef DEVICE_USB_USB_DEVICE_ANDROID_H_
-#define DEVICE_USB_USB_DEVICE_ANDROID_H_
-
-#include "base/android/scoped_java_ref.h"
-#include "device/usb/usb_device.h"
-
-namespace device {
-
-class UsbDeviceAndroid : public UsbDevice {
- public:
- // Register C++ methods exposed to Java using JNI.
- static bool RegisterJNI(JNIEnv* env);
-
- static scoped_refptr<UsbDeviceAndroid> Create(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_device);
-
- // UsbDevice:
- void Open(const OpenCallback& callback) override;
- const UsbConfigDescriptor* GetActiveConfiguration() override;
-
- private:
- UsbDeviceAndroid(JNIEnv* env,
- uint16_t vendor_id,
- uint16_t product_id,
- const base::string16& manufacturer_string,
- const base::string16& product_string,
- const base::string16& serial_number,
- const base::android::JavaRef<jobject>& wrapper);
- ~UsbDeviceAndroid() override;
-
- // Java object org.chromium.device.usb.ChromeUsbDevice.
- base::android::ScopedJavaGlobalRef<jobject> j_object_;
-};
-
-} // namespace device
-
-#endif // DEVICE_USB_USB_DEVICE_ANDROID_H_
diff --git a/device/usb/usb_device_impl.cc b/device/usb/usb_device_impl.cc
index 271b631..874ccad 100644
--- a/device/usb/usb_device_impl.cc
+++ b/device/usb/usb_device_impl.cc
@@ -204,7 +204,7 @@ void UsbDeviceImpl::Open(const OpenCallback& callback) {
#endif // defined(OS_CHROMEOS)
}
-void UsbDeviceImpl::Close(scoped_refptr<UsbDeviceHandle> handle) {
+bool UsbDeviceImpl::Close(scoped_refptr<UsbDeviceHandle> handle) {
DCHECK(thread_checker_.CalledOnValidThread());
for (HandlesVector::iterator it = handles_.begin(); it != handles_.end();
@@ -212,9 +212,10 @@ void UsbDeviceImpl::Close(scoped_refptr<UsbDeviceHandle> handle) {
if (it->get() == handle.get()) {
(*it)->InternalClose();
handles_.erase(it);
- return;
+ return true;
}
}
+ return false;
}
const UsbConfigDescriptor* UsbDeviceImpl::GetActiveConfiguration() {
diff --git a/device/usb/usb_device_impl.h b/device/usb/usb_device_impl.h
index a64e3d1..337c0e8 100644
--- a/device/usb/usb_device_impl.h
+++ b/device/usb/usb_device_impl.h
@@ -6,8 +6,6 @@
#define DEVICE_USB_USB_DEVICE_IMPL_H_
#include <stdint.h>
-
-#include <string>
#include <utility>
#include <vector>
@@ -47,6 +45,7 @@ class UsbDeviceImpl : public UsbDevice {
void CheckUsbAccess(const ResultCallback& callback) override;
#endif // OS_CHROMEOS
void Open(const OpenCallback& callback) override;
+ bool Close(scoped_refptr<UsbDeviceHandle> handle) override;
const UsbConfigDescriptor* GetActiveConfiguration() override;
// These functions are used during enumeration only. The values must not
@@ -88,7 +87,6 @@ class UsbDeviceImpl : public UsbDevice {
void ReadAllConfigurations();
// Called by UsbDeviceHandleImpl.
- void Close(scoped_refptr<UsbDeviceHandle> handle);
void RefreshActiveConfiguration();
private:
diff --git a/device/usb/usb_endpoint_android.cc b/device/usb/usb_endpoint_android.cc
deleted file mode 100644
index 3280b04..0000000
--- a/device/usb/usb_endpoint_android.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/usb/usb_endpoint_android.h"
-
-#include "jni/ChromeUsbEndpoint_jni.h"
-
-namespace device {
-
-// static
-bool UsbEndpointAndroid::RegisterJNI(JNIEnv* env) {
- return RegisterNativesImpl(env); // Generated in ChromeUsbEndpoint_jni.h
-}
-
-// static
-UsbEndpointDescriptor UsbEndpointAndroid::Convert(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_endpoint) {
- base::android::ScopedJavaLocalRef<jobject> wrapper =
- Java_ChromeUsbEndpoint_create(env, usb_endpoint.obj());
-
- UsbEndpointDescriptor endpoint;
- endpoint.address = Java_ChromeUsbEndpoint_getAddress(env, wrapper.obj());
- endpoint.direction = static_cast<UsbEndpointDirection>(
- Java_ChromeUsbEndpoint_getDirection(env, wrapper.obj()));
- endpoint.maximum_packet_size =
- Java_ChromeUsbEndpoint_getMaxPacketSize(env, wrapper.obj());
- jint attributes = Java_ChromeUsbEndpoint_getAttributes(env, wrapper.obj());
- endpoint.synchronization_type =
- static_cast<UsbSynchronizationType>((attributes >> 2) & 3);
- endpoint.usage_type = static_cast<UsbUsageType>((attributes >> 4) & 3);
- endpoint.transfer_type = static_cast<UsbTransferType>(
- Java_ChromeUsbEndpoint_getType(env, wrapper.obj()));
- endpoint.polling_interval =
- Java_ChromeUsbEndpoint_getInterval(env, wrapper.obj());
-
- return endpoint;
-}
-
-} // namespace device
diff --git a/device/usb/usb_endpoint_android.h b/device/usb/usb_endpoint_android.h
deleted file mode 100644
index 3fc835c..0000000
--- a/device/usb/usb_endpoint_android.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef DEVICE_USB_USB_ENDPOINT_ANDROID_H_
-#define DEVICE_USB_USB_ENDPOINT_ANDROID_H_
-
-#include "base/android/scoped_java_ref.h"
-#include "device/usb/usb_descriptors.h"
-
-namespace device {
-
-class UsbEndpointAndroid {
- public:
- // Register C++ methods exposed to Java using JNI.
- static bool RegisterJNI(JNIEnv* env);
-
- static UsbEndpointDescriptor Convert(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_endpoint);
-};
-
-} // namespace device
-
-#endif // DEVICE_USB_USB_ENDPOINT_ANDROID_H_
diff --git a/device/usb/usb_interface_android.cc b/device/usb/usb_interface_android.cc
deleted file mode 100644
index 60403ae..0000000
--- a/device/usb/usb_interface_android.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/usb/usb_interface_android.h"
-
-#include "device/usb/usb_endpoint_android.h"
-#include "jni/ChromeUsbInterface_jni.h"
-
-using base::android::ScopedJavaLocalRef;
-
-namespace device {
-
-// static
-bool UsbInterfaceAndroid::RegisterJNI(JNIEnv* env) {
- return RegisterNativesImpl(env); // Generated in ChromeUsbInterface_jni.h
-}
-
-// static
-UsbInterfaceDescriptor UsbInterfaceAndroid::Convert(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_interface) {
- ScopedJavaLocalRef<jobject> wrapper =
- Java_ChromeUsbInterface_create(env, usb_interface.obj());
-
- UsbInterfaceDescriptor interface;
- interface.interface_number =
- Java_ChromeUsbInterface_getInterfaceNumber(env, wrapper.obj());
- interface.alternate_setting =
- Java_ChromeUsbInterface_getAlternateSetting(env, wrapper.obj());
- interface.interface_class =
- Java_ChromeUsbInterface_getInterfaceClass(env, wrapper.obj());
- interface.interface_subclass =
- Java_ChromeUsbInterface_getInterfaceSubclass(env, wrapper.obj());
- interface.interface_protocol =
- Java_ChromeUsbInterface_getInterfaceProtocol(env, wrapper.obj());
-
- ScopedJavaLocalRef<jobjectArray> endpoints =
- Java_ChromeUsbInterface_getEndpoints(env, wrapper.obj());
- jsize count = env->GetArrayLength(endpoints.obj());
- interface.endpoints.reserve(count);
- for (jsize i = 0; i < count; ++i) {
- ScopedJavaLocalRef<jobject> endpoint(
- env, env->GetObjectArrayElement(endpoints.obj(), i));
- interface.endpoints.push_back(UsbEndpointAndroid::Convert(env, endpoint));
- }
-
- return interface;
-}
-
-} // namespace device
diff --git a/device/usb/usb_interface_android.h b/device/usb/usb_interface_android.h
deleted file mode 100644
index ec04b61..0000000
--- a/device/usb/usb_interface_android.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef DEVICE_USB_USB_INTERFACE_ANDROID_H_
-#define DEVICE_USB_USB_INTERFACE_ANDROID_H_
-
-#include "base/android/scoped_java_ref.h"
-#include "device/usb/usb_descriptors.h"
-
-namespace device {
-
-class UsbInterfaceAndroid {
- public:
- // Register C++ methods exposed to Java using JNI.
- static bool RegisterJNI(JNIEnv* env);
-
- static UsbInterfaceDescriptor Convert(
- JNIEnv* env,
- const base::android::JavaRef<jobject>& usb_interface);
-};
-
-} // namespace device
-
-#endif // DEVICE_USB_USB_INTERFACE_ANDROID_H_
diff --git a/device/usb/usb_service_android.cc b/device/usb/usb_service_android.cc
index 3bdf3bc..45ce499 100644
--- a/device/usb/usb_service_android.cc
+++ b/device/usb/usb_service_android.cc
@@ -4,30 +4,14 @@
#include "device/usb/usb_service_android.h"
-#include <string>
-#include <vector>
-
-#include "base/android/context_utils.h"
#include "base/bind.h"
#include "base/location.h"
#include "base/thread_task_runner_handle.h"
-#include "device/usb/usb_device_android.h"
-#include "jni/ChromeUsbService_jni.h"
-
-using base::android::AttachCurrentThread;
-using base::android::ScopedJavaLocalRef;
+#include "device/usb/usb_device.h"
namespace device {
-// static
-bool UsbServiceAndroid::RegisterJNI(JNIEnv* env) {
- return RegisterNativesImpl(env); // Generated in ChromeUsbService_jni.h
-}
-
-UsbServiceAndroid::UsbServiceAndroid() {
- j_object_.Reset(Java_ChromeUsbService_create(
- AttachCurrentThread(), base::android::GetApplicationContext()));
-}
+UsbServiceAndroid::UsbServiceAndroid() {}
UsbServiceAndroid::~UsbServiceAndroid() {}
@@ -36,20 +20,9 @@ scoped_refptr<UsbDevice> UsbServiceAndroid::GetDevice(const std::string& guid) {
}
void UsbServiceAndroid::GetDevices(const GetDevicesCallback& callback) {
- JNIEnv* env = AttachCurrentThread();
- ScopedJavaLocalRef<jobjectArray> devices =
- Java_ChromeUsbService_getDevices(env, j_object_.obj());
- jsize length = env->GetArrayLength(devices.obj());
-
- std::vector<scoped_refptr<UsbDevice>> results;
- for (jsize i = 0; i < length; ++i) {
- ScopedJavaLocalRef<jobject> raw_device(
- env, env->GetObjectArrayElement(devices.obj(), i));
- results.push_back(UsbDeviceAndroid::Create(env, raw_device));
- }
-
+ std::vector<scoped_refptr<UsbDevice>> empty;
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
- base::Bind(callback, results));
+ base::Bind(callback, empty));
}
} // namespace device
diff --git a/device/usb/usb_service_android.h b/device/usb/usb_service_android.h
index 9cab438..d1ffd9d 100644
--- a/device/usb/usb_service_android.h
+++ b/device/usb/usb_service_android.h
@@ -5,9 +5,6 @@
#ifndef DEVICE_USB_USB_SERVICE_ANDROID_H_
#define DEVICE_USB_USB_SERVICE_ANDROID_H_
-#include <string>
-
-#include "base/android/scoped_java_ref.h"
#include "device/usb/usb_service.h"
namespace device {
@@ -16,19 +13,11 @@ namespace device {
// does not return any devices.
class UsbServiceAndroid : public UsbService {
public:
- // Register C++ methods exposed to Java using JNI.
- static bool RegisterJNI(JNIEnv* env);
-
UsbServiceAndroid();
~UsbServiceAndroid() override;
- // UsbService:
scoped_refptr<UsbDevice> GetDevice(const std::string& guid) override;
void GetDevices(const GetDevicesCallback& callback) override;
-
- private:
- // Java object org.chromium.device.usb.ChromeUsbService.
- base::android::ScopedJavaGlobalRef<jobject> j_object_;
};
} // namespace device