| Index: chrome/browser/devtools/devtools_adb_bridge.cc
|
| diff --git a/chrome/browser/devtools/devtools_adb_bridge.cc b/chrome/browser/devtools/devtools_adb_bridge.cc
|
| index fd96aab9f4bb86d0a98c793291df97cc5350fcb5..40989f4f817577bcd4335e4d926f0b60a6fc6d2c 100644
|
| --- a/chrome/browser/devtools/devtools_adb_bridge.cc
|
| +++ b/chrome/browser/devtools/devtools_adb_bridge.cc
|
| @@ -84,6 +84,8 @@ class AdbDeviceImpl : public DevToolsAdbBridge::AndroidDevice {
|
| const CommandCallback& callback) OVERRIDE;
|
| virtual void OpenSocket(const std::string& name,
|
| const SocketCallback& callback) OVERRIDE;
|
| + virtual bool IsConnected() OVERRIDE;
|
| +
|
| private:
|
| virtual ~AdbDeviceImpl() {}
|
| };
|
| @@ -106,6 +108,10 @@ void AdbDeviceImpl::OpenSocket(const std::string& name,
|
| AdbClientSocket::TransportQuery(kAdbPort, serial(), socket_name, callback);
|
| }
|
|
|
| +bool AdbDeviceImpl::IsConnected() {
|
| + return true;
|
| +}
|
| +
|
|
|
| // UsbDeviceImpl --------------------------------------------------------------
|
|
|
| @@ -116,6 +122,7 @@ class UsbDeviceImpl : public DevToolsAdbBridge::AndroidDevice {
|
| const CommandCallback& callback) OVERRIDE;
|
| virtual void OpenSocket(const std::string& name,
|
| const SocketCallback& callback) OVERRIDE;
|
| + virtual bool IsConnected() OVERRIDE;
|
|
|
| private:
|
| void OnOpenSocket(const SocketCallback& callback,
|
| @@ -201,6 +208,10 @@ void UsbDeviceImpl::OnRead(net::StreamSocket* socket,
|
| OnRead(socket, buffer, new_data, callback, result);
|
| }
|
|
|
| +bool UsbDeviceImpl::IsConnected() {
|
| + return device_->is_connected();
|
| +}
|
| +
|
|
|
| // AdbCountDevicesCommand -----------------------------------------------------
|
|
|
| @@ -398,8 +409,14 @@ void AdbPagesCommand::ProcessSerials() {
|
| #endif // defined(DEBUG_DEVTOOLS)
|
|
|
| scoped_refptr<DevToolsAdbBridge::AndroidDevice> device = devices_.back();
|
| - device->RunCommand(kDeviceModelCommand,
|
| - base::Bind(&AdbPagesCommand::ReceivedModel, this));
|
| + if (device->IsConnected()) {
|
| + device->RunCommand(kDeviceModelCommand,
|
| + base::Bind(&AdbPagesCommand::ReceivedModel, this));
|
| + } else {
|
| + remote_devices_->push_back(new DevToolsAdbBridge::RemoteDevice(device));
|
| + devices_.pop_back();
|
| + ProcessSerials();
|
| + }
|
| }
|
|
|
| void AdbPagesCommand::ReceivedModel(int result, const std::string& response) {
|
| @@ -639,7 +656,7 @@ void AdbPagesCommand::ParseScreenSize(const std::string& str) {
|
| !base::StringToInt(numbers[1], &height))
|
| return;
|
|
|
| - remote_devices_->back()->SetScreenSize(gfx::Size(width, height));
|
| + remote_devices_->back()->set_screen_size(gfx::Size(width, height));
|
| }
|
|
|
|
|
| @@ -1036,6 +1053,23 @@ DevToolsAdbBridge::RemoteDevice::RemoteDevice(
|
| : device_(device) {
|
| }
|
|
|
| +std::string DevToolsAdbBridge::RemoteDevice::GetSerial() {
|
| + return device_->serial();
|
| +}
|
| +
|
| +std::string DevToolsAdbBridge::RemoteDevice::GetModel() {
|
| + return device_->model();
|
| +}
|
| +
|
| +bool DevToolsAdbBridge::RemoteDevice::IsConnected() {
|
| + return device_->IsConnected();
|
| +}
|
| +
|
| +void DevToolsAdbBridge::RemoteDevice::AddBrowser(
|
| + scoped_refptr<RemoteBrowser> browser) {
|
| + browsers_.push_back(browser);
|
| +}
|
| +
|
| DevToolsAdbBridge::RemoteDevice::~RemoteDevice() {
|
| }
|
|
|
|
|