diff options
author | keybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-06 00:26:26 +0000 |
---|---|---|
committer | keybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-06 00:26:26 +0000 |
commit | 722ad4cec8fbb666264980f0a8a94315f515c2bf (patch) | |
tree | 6a365a5e6dadd0503374fdea1707b14a489c623d /chrome/browser/chromeos/bluetooth | |
parent | ff390b8451249f70326d38fe12ed1166f26164d2 (diff) | |
download | chromium_src-722ad4cec8fbb666264980f0a8a94315f515c2bf.zip chromium_src-722ad4cec8fbb666264980f0a8a94315f515c2bf.tar.gz chromium_src-722ad4cec8fbb666264980f0a8a94315f515c2bf.tar.bz2 |
Bluetooth: show all devices during discovery
Remove the filter that limits display to keyboard and mice only; there
are a number of bugs where laptops and phones sneak in anyway which
confuse users, and with support for Audio coming, along with the JS
extension API, the class filter no longer makes sense anyway.
BUG=chromium-os:33573,chrome-os-partner:9549
TEST=nearby computers and phones show up during scan
Review URL: https://chromiumcodereview.appspot.com/11029054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160531 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/bluetooth')
4 files changed, 12 insertions, 102 deletions
diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_adapter_chromeos.cc b/chrome/browser/chromeos/bluetooth/bluetooth_adapter_chromeos.cc index 8a4b4c5..d71dae4 100644 --- a/chrome/browser/chromeos/bluetooth/bluetooth_adapter_chromeos.cc +++ b/chrome/browser/chromeos/bluetooth/bluetooth_adapter_chromeos.cc @@ -374,11 +374,7 @@ void BluetoothAdapterChromeOs::UpdateDevice( } device->Update(properties, true); - // Don't send a duplicate added event for supported devices that were - // previously visible or for already paired devices, send a changed - // event instead. We always send one event or the other since we always - // inform observers about paired devices whether or not they're supported. - if (update_device && (device->IsSupported() || was_paired)) { + if (update_device) { FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, DeviceChanged(this, device)); } else { @@ -393,9 +389,8 @@ void BluetoothAdapterChromeOs::ClearDevices() { for (DevicesMap::iterator iter = replace.begin(); iter != replace.end(); ++iter) { BluetoothDeviceChromeOs* device = iter->second; - if (device->IsSupported() || device->IsPaired()) - FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, - DeviceRemoved(this, device)); + FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, + DeviceRemoved(this, device)); delete device; } @@ -440,15 +435,8 @@ void BluetoothAdapterChromeOs::DeviceRemoved( DVLOG(1) << "Removed object path from device " << device->address(); device->RemoveObjectPath(); - // If the device is not supported then we want to act as if it was - // removed, even though it is still visible to the adapter. - if (!device->IsSupported()) { - FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, - DeviceRemoved(this, device)); - } else { - FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, - DeviceChanged(this, device)); - } + FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, + DeviceChanged(this, device)); } } } @@ -468,9 +456,8 @@ void BluetoothAdapterChromeOs::ClearDiscoveredDevices() { ++iter; if (!device->IsPaired()) { - if (device->IsSupported()) - FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, - DeviceRemoved(this, device)); + FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, + DeviceRemoved(this, device)); delete device; devices_.erase(temp); @@ -502,14 +489,10 @@ void BluetoothAdapterChromeOs::DeviceFound( device->SetVisible(true); device->Update(&properties, false); - // Don't send a duplicated added event for duplicate signals for supported - // devices that were previously visible (should never happen) or for already - // paired devices, send a changed event instead. We do not inform observers - // if we find or update an unconnected and unsupported device. - if (update_device && (device->IsSupported() || device->IsPaired())) { + if (update_device) { FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, DeviceChanged(this, device)); - } else if (device->IsSupported()) { + } else { FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, DeviceAdded(this, device)); } @@ -531,9 +514,8 @@ void BluetoothAdapterChromeOs::DeviceDisappeared( // paired with is no longer visible to the adapter, so don't remove // in that case and only clear the visible flag. if (!device->IsPaired()) { - if (device->IsSupported()) - FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, - DeviceRemoved(this, device)); + FOR_EACH_OBSERVER(BluetoothAdapter::Observer, observers_, + DeviceRemoved(this, device)); DVLOG(1) << "Discovered device " << device->address() << " is no longer visible to the adapter"; diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_adapter_devices_chromeos_unittest.cc b/chrome/browser/chromeos/bluetooth/bluetooth_adapter_devices_chromeos_unittest.cc index 6455841..d1c1805 100644 --- a/chrome/browser/chromeos/bluetooth/bluetooth_adapter_devices_chromeos_unittest.cc +++ b/chrome/browser/chromeos/bluetooth/bluetooth_adapter_devices_chromeos_unittest.cc @@ -117,13 +117,6 @@ TEST_F(BluetoothAdapterDevicesChromeOsTest, DeviceRemovedAfterFound) { device_properties.name.ReplaceValue("Fake Keyboard"); device_properties.bluetooth_class.ReplaceValue(0x2540); - // needs to be a supported class - - // should create a bluetooth device, - // put it in the hash map, - // set visible to true, - // update its properties, - // Inform the adapter that the device has been found; // BluetoothAdapterClient::Observer::DeviceAdded will be called, passing // the device object. @@ -151,7 +144,7 @@ TEST_F(BluetoothAdapterDevicesChromeOsTest, DeviceRemovedAfterFound) { static_cast<BluetoothAdapterClient::Observer*>(adapter_chromeos) ->DeviceCreated(adapter_path_, device_path); - // Finally remove the adapter again; since this is a supported device + // Finally remove the adapter again; // BluetoothAdapterClient::Observer::DeviceRemoved should be not called, // instead BluetoothAdapterClient::Observer::DeviceChanged will be called. EXPECT_CALL(adapter_observer_, DeviceRemoved(adapter_.get(), device)) @@ -167,51 +160,4 @@ TEST_F(BluetoothAdapterDevicesChromeOsTest, DeviceRemovedAfterFound) { EXPECT_FALSE(device->IsPaired()); } -TEST_F(BluetoothAdapterDevicesChromeOsTest, - UnsupportedDeviceRemovedAfterFound) { - const dbus::ObjectPath device_path("/fake/hci0/dev_ba_c0_11_00_00_02"); - const std::string device_address = "BA:C0:11:00:00:02"; - - MockBluetoothDeviceClient::Properties device_properties; - device_properties.address.ReplaceValue(device_address); - device_properties.name.ReplaceValue("Fake Computer"); - device_properties.bluetooth_class.ReplaceValue(0x400100); - - // Inform the adapter that the unsupported device has been found; - // BluetoothAdapterClient::Observer::DeviceAdded should not be called - // yet because this device is not supported so is hidden from the UI. - EXPECT_CALL(adapter_observer_, DeviceAdded(adapter_.get(), _)) - .Times(0); - - BluetoothAdapterChromeOs* adapter_chromeos = - static_cast<BluetoothAdapterChromeOs*>(adapter_.get()); - static_cast<BluetoothAdapterClient::Observer*>(adapter_chromeos) - ->DeviceFound(adapter_path_, device_address, device_properties); - - // Now inform the adapter the device has been added and assigned an - // object path; BluetoothDeviceClient::GetProperties will be called - // to obtain the property set; and - // BluetoothAdapterClient::Observer::DeviceAdded will be called, - // passing the device object. - EXPECT_CALL(*mock_device_client_, GetProperties(device_path)) - .WillRepeatedly(Return(&device_properties)); - - BluetoothDevice* device; - EXPECT_CALL(adapter_observer_, DeviceAdded(adapter_.get(), _)) - .Times(1) - .WillOnce(SaveArg<1>(&device)); - - static_cast<BluetoothAdapterClient::Observer*>(adapter_chromeos) - ->DeviceCreated(adapter_path_, device_path); - - // Finally remove the device again; - // BluetoothAdapterClient::Observer::DeviceRemoved will be called - // before the device object is deleted. - EXPECT_CALL(adapter_observer_, DeviceRemoved(adapter_.get(), device)) - .Times(1); - - static_cast<BluetoothAdapterClient::Observer*>(adapter_chromeos) - ->DeviceRemoved(adapter_path_, device_path); -} - } // namespace chromeos diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.cc b/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.cc index 7b1b076..aa060d5 100644 --- a/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.cc +++ b/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.cc @@ -20,7 +20,6 @@ #include "chrome/browser/chromeos/bluetooth/bluetooth_service_record.h" #include "chrome/browser/chromeos/bluetooth/bluetooth_socket_chromeos.h" #include "chrome/browser/chromeos/bluetooth/bluetooth_utils.h" -#include "chrome/common/chrome_switches.h" #include "chromeos/dbus/bluetooth_adapter_client.h" #include "chromeos/dbus/bluetooth_agent_service_provider.h" #include "chromeos/dbus/bluetooth_device_client.h" @@ -47,20 +46,6 @@ BluetoothDeviceChromeOs::BluetoothDeviceChromeOs( BluetoothDeviceChromeOs::~BluetoothDeviceChromeOs() { } -bool BluetoothDeviceChromeOs::IsSupported() const { - if (CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableUnsupportedBluetoothDevices)) - return true; - - BluetoothDevice::DeviceType device_type = GetDeviceType(); - return (device_type == DEVICE_JOYSTICK || - device_type == DEVICE_GAMEPAD || - device_type == DEVICE_KEYBOARD || - device_type == DEVICE_MOUSE || - device_type == DEVICE_TABLET || - device_type == DEVICE_KEYBOARD_MOUSE_COMBO); -} - bool BluetoothDeviceChromeOs::IsPaired() const { return !object_path_.value().empty(); } diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h b/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h index aacbeb9..a4202c5 100644 --- a/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h +++ b/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h @@ -76,9 +76,6 @@ class BluetoothDeviceChromeOs : public BluetoothDevice, explicit BluetoothDeviceChromeOs(BluetoothAdapterChromeOs* adapter); - // Indicates whether the class of this device is supported by Chrome OS. - bool IsSupported() const; - // Sets the dbus object path for the device to |object_path|, indicating // that the device has gone from being discovered to paired or bonded. void SetObjectPath(const dbus::ObjectPath& object_path); |