| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/bluetooth/bluetooth_adapter.h" |
| 6 |
| 5 #include <stddef.h> | 7 #include <stddef.h> |
| 6 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <utility> |
| 7 | 10 |
| 8 #include "base/bind.h" | 11 #include "base/bind.h" |
| 9 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
| 10 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
| 11 #include "build/build_config.h" | 14 #include "build/build_config.h" |
| 12 #include "device/bluetooth/bluetooth_adapter.h" | |
| 13 #include "device/bluetooth/bluetooth_device.h" | 15 #include "device/bluetooth/bluetooth_device.h" |
| 14 #include "device/bluetooth/bluetooth_discovery_session.h" | 16 #include "device/bluetooth/bluetooth_discovery_session.h" |
| 15 #include "device/bluetooth/test/bluetooth_test.h" | 17 #include "device/bluetooth/test/bluetooth_test.h" |
| 16 #include "device/bluetooth/test/test_bluetooth_adapter_observer.h" | 18 #include "device/bluetooth/test/test_bluetooth_adapter_observer.h" |
| 17 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 18 | 20 |
| 19 #if defined(OS_ANDROID) | 21 #if defined(OS_ANDROID) |
| 20 #include "device/bluetooth/test/bluetooth_test_android.h" | 22 #include "device/bluetooth/test/bluetooth_test_android.h" |
| 21 #elif defined(OS_MACOSX) | 23 #elif defined(OS_MACOSX) |
| 22 #include "device/bluetooth/test/bluetooth_test_mac.h" | 24 #include "device/bluetooth/test/bluetooth_test_mac.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 void SetDiscoverable(bool discoverable, | 56 void SetDiscoverable(bool discoverable, |
| 55 const base::Closure& callback, | 57 const base::Closure& callback, |
| 56 const ErrorCallback& error_callback) override {} | 58 const ErrorCallback& error_callback) override {} |
| 57 | 59 |
| 58 bool IsDiscovering() const override { return false; } | 60 bool IsDiscovering() const override { return false; } |
| 59 | 61 |
| 60 void StartDiscoverySessionWithFilter( | 62 void StartDiscoverySessionWithFilter( |
| 61 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter, | 63 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter, |
| 62 const DiscoverySessionCallback& callback, | 64 const DiscoverySessionCallback& callback, |
| 63 const ErrorCallback& error_callback) override { | 65 const ErrorCallback& error_callback) override { |
| 64 OnStartDiscoverySession(discovery_filter.Pass(), callback); | 66 OnStartDiscoverySession(std::move(discovery_filter), callback); |
| 65 } | 67 } |
| 66 | 68 |
| 67 void StartDiscoverySession(const DiscoverySessionCallback& callback, | 69 void StartDiscoverySession(const DiscoverySessionCallback& callback, |
| 68 const ErrorCallback& error_callback) override {} | 70 const ErrorCallback& error_callback) override {} |
| 69 void CreateRfcommService( | 71 void CreateRfcommService( |
| 70 const BluetoothUUID& uuid, | 72 const BluetoothUUID& uuid, |
| 71 const ServiceOptions& options, | 73 const ServiceOptions& options, |
| 72 const CreateServiceCallback& callback, | 74 const CreateServiceCallback& callback, |
| 73 const CreateServiceErrorCallback& error_callback) override {} | 75 const CreateServiceErrorCallback& error_callback) override {} |
| 74 | 76 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 87 scoped_ptr<BluetoothAdvertisement::Data> advertisement_data, | 89 scoped_ptr<BluetoothAdvertisement::Data> advertisement_data, |
| 88 const CreateAdvertisementCallback& callback, | 90 const CreateAdvertisementCallback& callback, |
| 89 const CreateAdvertisementErrorCallback& error_callback) override {} | 91 const CreateAdvertisementErrorCallback& error_callback) override {} |
| 90 | 92 |
| 91 void TestErrorCallback() {} | 93 void TestErrorCallback() {} |
| 92 | 94 |
| 93 ScopedVector<BluetoothDiscoverySession> discovery_sessions_; | 95 ScopedVector<BluetoothDiscoverySession> discovery_sessions_; |
| 94 | 96 |
| 95 void TestOnStartDiscoverySession( | 97 void TestOnStartDiscoverySession( |
| 96 scoped_ptr<device::BluetoothDiscoverySession> discovery_session) { | 98 scoped_ptr<device::BluetoothDiscoverySession> discovery_session) { |
| 97 discovery_sessions_.push_back(discovery_session.Pass()); | 99 discovery_sessions_.push_back(std::move(discovery_session)); |
| 98 } | 100 } |
| 99 | 101 |
| 100 void CleanupSessions() { discovery_sessions_.clear(); } | 102 void CleanupSessions() { discovery_sessions_.clear(); } |
| 101 | 103 |
| 102 void InjectFilteredSession( | 104 void InjectFilteredSession( |
| 103 scoped_ptr<device::BluetoothDiscoveryFilter> discovery_filter) { | 105 scoped_ptr<device::BluetoothDiscoveryFilter> discovery_filter) { |
| 104 StartDiscoverySessionWithFilter( | 106 StartDiscoverySessionWithFilter( |
| 105 discovery_filter.Pass(), | 107 std::move(discovery_filter), |
| 106 base::Bind(&TestBluetoothAdapter::TestOnStartDiscoverySession, | 108 base::Bind(&TestBluetoothAdapter::TestOnStartDiscoverySession, |
| 107 base::Unretained(this)), | 109 base::Unretained(this)), |
| 108 base::Bind(&TestBluetoothAdapter::TestErrorCallback, | 110 base::Bind(&TestBluetoothAdapter::TestErrorCallback, |
| 109 base::Unretained(this))); | 111 base::Unretained(this))); |
| 110 } | 112 } |
| 111 | 113 |
| 112 protected: | 114 protected: |
| 113 ~TestBluetoothAdapter() override {} | 115 ~TestBluetoothAdapter() override {} |
| 114 | 116 |
| 115 void AddDiscoverySession( | 117 void AddDiscoverySession( |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 | 221 |
| 220 discovery_filter = adapter->GetMergedDiscoveryFilterMasked(nullptr); | 222 discovery_filter = adapter->GetMergedDiscoveryFilterMasked(nullptr); |
| 221 EXPECT_TRUE(discovery_filter.get() == nullptr); | 223 EXPECT_TRUE(discovery_filter.get() == nullptr); |
| 222 } | 224 } |
| 223 | 225 |
| 224 TEST(BluetoothAdapterTest, GetMergedDiscoveryFilterRegular) { | 226 TEST(BluetoothAdapterTest, GetMergedDiscoveryFilterRegular) { |
| 225 scoped_refptr<TestBluetoothAdapter> adapter = new TestBluetoothAdapter(); | 227 scoped_refptr<TestBluetoothAdapter> adapter = new TestBluetoothAdapter(); |
| 226 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter; | 228 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter; |
| 227 | 229 |
| 228 // make sure adapter have one session wihout filtering. | 230 // make sure adapter have one session wihout filtering. |
| 229 adapter->InjectFilteredSession(discovery_filter.Pass()); | 231 adapter->InjectFilteredSession(std::move(discovery_filter)); |
| 230 | 232 |
| 231 // having one reglar session should result in no filter | 233 // having one reglar session should result in no filter |
| 232 scoped_ptr<BluetoothDiscoveryFilter> resulting_filter = | 234 scoped_ptr<BluetoothDiscoveryFilter> resulting_filter = |
| 233 adapter->GetMergedDiscoveryFilter(); | 235 adapter->GetMergedDiscoveryFilter(); |
| 234 EXPECT_TRUE(resulting_filter.get() == nullptr); | 236 EXPECT_TRUE(resulting_filter.get() == nullptr); |
| 235 | 237 |
| 236 // omiting no filter when having one reglar session should result in no filter | 238 // omiting no filter when having one reglar session should result in no filter |
| 237 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(nullptr); | 239 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(nullptr); |
| 238 EXPECT_TRUE(resulting_filter.get() == nullptr); | 240 EXPECT_TRUE(resulting_filter.get() == nullptr); |
| 239 | 241 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 250 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 252 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
| 251 df->SetRSSI(-30); | 253 df->SetRSSI(-30); |
| 252 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter(df); | 254 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter(df); |
| 253 | 255 |
| 254 BluetoothDiscoveryFilter* df2 = new BluetoothDiscoveryFilter( | 256 BluetoothDiscoveryFilter* df2 = new BluetoothDiscoveryFilter( |
| 255 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 257 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
| 256 df2->SetRSSI(-65); | 258 df2->SetRSSI(-65); |
| 257 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter2(df2); | 259 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter2(df2); |
| 258 | 260 |
| 259 // make sure adapter have one session wihout filtering. | 261 // make sure adapter have one session wihout filtering. |
| 260 adapter->InjectFilteredSession(discovery_filter.Pass()); | 262 adapter->InjectFilteredSession(std::move(discovery_filter)); |
| 261 | 263 |
| 262 // DO_NOTHING should have no impact | 264 // DO_NOTHING should have no impact |
| 263 resulting_filter = adapter->GetMergedDiscoveryFilter(); | 265 resulting_filter = adapter->GetMergedDiscoveryFilter(); |
| 264 resulting_filter->GetRSSI(&resulting_rssi); | 266 resulting_filter->GetRSSI(&resulting_rssi); |
| 265 EXPECT_EQ(-30, resulting_rssi); | 267 EXPECT_EQ(-30, resulting_rssi); |
| 266 | 268 |
| 267 // should not use df2 at all, as it's not associated with adapter yet | 269 // should not use df2 at all, as it's not associated with adapter yet |
| 268 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df2); | 270 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df2); |
| 269 resulting_filter->GetRSSI(&resulting_rssi); | 271 resulting_filter->GetRSSI(&resulting_rssi); |
| 270 EXPECT_EQ(-30, resulting_rssi); | 272 EXPECT_EQ(-30, resulting_rssi); |
| 271 | 273 |
| 272 adapter->InjectFilteredSession(discovery_filter2.Pass()); | 274 adapter->InjectFilteredSession(std::move(discovery_filter2)); |
| 273 | 275 |
| 274 // result of merging two rssi values should be lower one | 276 // result of merging two rssi values should be lower one |
| 275 resulting_filter = adapter->GetMergedDiscoveryFilter(); | 277 resulting_filter = adapter->GetMergedDiscoveryFilter(); |
| 276 resulting_filter->GetRSSI(&resulting_rssi); | 278 resulting_filter->GetRSSI(&resulting_rssi); |
| 277 EXPECT_EQ(-65, resulting_rssi); | 279 EXPECT_EQ(-65, resulting_rssi); |
| 278 | 280 |
| 279 // ommit bigger value, result should stay same | 281 // ommit bigger value, result should stay same |
| 280 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df); | 282 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df); |
| 281 resulting_filter->GetRSSI(&resulting_rssi); | 283 resulting_filter->GetRSSI(&resulting_rssi); |
| 282 EXPECT_EQ(-65, resulting_rssi); | 284 EXPECT_EQ(-65, resulting_rssi); |
| 283 | 285 |
| 284 // ommit lower value, result should change | 286 // ommit lower value, result should change |
| 285 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df2); | 287 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df2); |
| 286 resulting_filter->GetRSSI(&resulting_rssi); | 288 resulting_filter->GetRSSI(&resulting_rssi); |
| 287 EXPECT_EQ(-30, resulting_rssi); | 289 EXPECT_EQ(-30, resulting_rssi); |
| 288 | 290 |
| 289 BluetoothDiscoveryFilter* df3 = new BluetoothDiscoveryFilter( | 291 BluetoothDiscoveryFilter* df3 = new BluetoothDiscoveryFilter( |
| 290 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 292 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
| 291 df3->SetPathloss(60); | 293 df3->SetPathloss(60); |
| 292 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); | 294 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); |
| 293 | 295 |
| 294 // when rssi and pathloss are merged, both should be cleared, becuase there is | 296 // when rssi and pathloss are merged, both should be cleared, becuase there is |
| 295 // no way to tell which filter will be more generic | 297 // no way to tell which filter will be more generic |
| 296 adapter->InjectFilteredSession(discovery_filter3.Pass()); | 298 adapter->InjectFilteredSession(std::move(discovery_filter3)); |
| 297 resulting_filter = adapter->GetMergedDiscoveryFilter(); | 299 resulting_filter = adapter->GetMergedDiscoveryFilter(); |
| 298 EXPECT_FALSE(resulting_filter->GetRSSI(&resulting_rssi)); | 300 EXPECT_FALSE(resulting_filter->GetRSSI(&resulting_rssi)); |
| 299 EXPECT_FALSE(resulting_filter->GetPathloss(&resulting_pathloss)); | 301 EXPECT_FALSE(resulting_filter->GetPathloss(&resulting_pathloss)); |
| 300 | 302 |
| 301 adapter->CleanupSessions(); | 303 adapter->CleanupSessions(); |
| 302 } | 304 } |
| 303 | 305 |
| 304 TEST(BluetoothAdapterTest, GetMergedDiscoveryFilterTransport) { | 306 TEST(BluetoothAdapterTest, GetMergedDiscoveryFilterTransport) { |
| 305 scoped_refptr<TestBluetoothAdapter> adapter = new TestBluetoothAdapter(); | 307 scoped_refptr<TestBluetoothAdapter> adapter = new TestBluetoothAdapter(); |
| 306 scoped_ptr<BluetoothDiscoveryFilter> resulting_filter; | 308 scoped_ptr<BluetoothDiscoveryFilter> resulting_filter; |
| 307 | 309 |
| 308 BluetoothDiscoveryFilter* df = new BluetoothDiscoveryFilter( | 310 BluetoothDiscoveryFilter* df = new BluetoothDiscoveryFilter( |
| 309 BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC); | 311 BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC); |
| 310 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter(df); | 312 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter(df); |
| 311 | 313 |
| 312 BluetoothDiscoveryFilter* df2 = new BluetoothDiscoveryFilter( | 314 BluetoothDiscoveryFilter* df2 = new BluetoothDiscoveryFilter( |
| 313 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 315 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
| 314 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter2(df2); | 316 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter2(df2); |
| 315 | 317 |
| 316 adapter->InjectFilteredSession(discovery_filter.Pass()); | 318 adapter->InjectFilteredSession(std::move(discovery_filter)); |
| 317 | 319 |
| 318 // Just one filter, make sure transport was properly rewritten | 320 // Just one filter, make sure transport was properly rewritten |
| 319 resulting_filter = adapter->GetMergedDiscoveryFilter(); | 321 resulting_filter = adapter->GetMergedDiscoveryFilter(); |
| 320 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC, | 322 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC, |
| 321 resulting_filter->GetTransport()); | 323 resulting_filter->GetTransport()); |
| 322 | 324 |
| 323 adapter->InjectFilteredSession(discovery_filter2.Pass()); | 325 adapter->InjectFilteredSession(std::move(discovery_filter2)); |
| 324 | 326 |
| 325 // Two filters, should have OR of both transport's | 327 // Two filters, should have OR of both transport's |
| 326 resulting_filter = adapter->GetMergedDiscoveryFilter(); | 328 resulting_filter = adapter->GetMergedDiscoveryFilter(); |
| 327 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL, | 329 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL, |
| 328 resulting_filter->GetTransport()); | 330 resulting_filter->GetTransport()); |
| 329 | 331 |
| 330 // When 1st filter is masked, 2nd filter transport should be returned. | 332 // When 1st filter is masked, 2nd filter transport should be returned. |
| 331 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df); | 333 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df); |
| 332 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_LE, | 334 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_LE, |
| 333 resulting_filter->GetTransport()); | 335 resulting_filter->GetTransport()); |
| 334 | 336 |
| 335 // When 2nd filter is masked, 1st filter transport should be returned. | 337 // When 2nd filter is masked, 1st filter transport should be returned. |
| 336 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df2); | 338 resulting_filter = adapter->GetMergedDiscoveryFilterMasked(df2); |
| 337 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC, | 339 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC, |
| 338 resulting_filter->GetTransport()); | 340 resulting_filter->GetTransport()); |
| 339 | 341 |
| 340 BluetoothDiscoveryFilter* df3 = new BluetoothDiscoveryFilter( | 342 BluetoothDiscoveryFilter* df3 = new BluetoothDiscoveryFilter( |
| 341 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 343 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
| 342 df3->CopyFrom(BluetoothDiscoveryFilter( | 344 df3->CopyFrom(BluetoothDiscoveryFilter( |
| 343 BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL)); | 345 BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL)); |
| 344 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); | 346 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); |
| 345 | 347 |
| 346 // Merging empty filter in should result in empty filter | 348 // Merging empty filter in should result in empty filter |
| 347 adapter->InjectFilteredSession(discovery_filter3.Pass()); | 349 adapter->InjectFilteredSession(std::move(discovery_filter3)); |
| 348 resulting_filter = adapter->GetMergedDiscoveryFilter(); | 350 resulting_filter = adapter->GetMergedDiscoveryFilter(); |
| 349 EXPECT_TRUE(resulting_filter->IsDefault()); | 351 EXPECT_TRUE(resulting_filter->IsDefault()); |
| 350 | 352 |
| 351 adapter->CleanupSessions(); | 353 adapter->CleanupSessions(); |
| 352 } | 354 } |
| 353 | 355 |
| 354 TEST(BluetoothAdapterTest, GetMergedDiscoveryFilterAllFields) { | 356 TEST(BluetoothAdapterTest, GetMergedDiscoveryFilterAllFields) { |
| 355 scoped_refptr<TestBluetoothAdapter> adapter = new TestBluetoothAdapter(); | 357 scoped_refptr<TestBluetoothAdapter> adapter = new TestBluetoothAdapter(); |
| 356 int16_t resulting_rssi; | 358 int16_t resulting_rssi; |
| 357 std::set<device::BluetoothUUID> resulting_uuids; | 359 std::set<device::BluetoothUUID> resulting_uuids; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 372 | 374 |
| 373 BluetoothDiscoveryFilter* df3 = new BluetoothDiscoveryFilter( | 375 BluetoothDiscoveryFilter* df3 = new BluetoothDiscoveryFilter( |
| 374 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); | 376 BluetoothDiscoveryFilter::Transport::TRANSPORT_LE); |
| 375 df3->SetRSSI(-65); | 377 df3->SetRSSI(-65); |
| 376 df3->SetTransport(BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC); | 378 df3->SetTransport(BluetoothDiscoveryFilter::Transport::TRANSPORT_CLASSIC); |
| 377 df3->AddUUID(device::BluetoothUUID("1020")); | 379 df3->AddUUID(device::BluetoothUUID("1020")); |
| 378 df3->AddUUID(device::BluetoothUUID("1003")); | 380 df3->AddUUID(device::BluetoothUUID("1003")); |
| 379 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); | 381 scoped_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); |
| 380 | 382 |
| 381 // make sure adapter have one session wihout filtering. | 383 // make sure adapter have one session wihout filtering. |
| 382 adapter->InjectFilteredSession(discovery_filter.Pass()); | 384 adapter->InjectFilteredSession(std::move(discovery_filter)); |
| 383 adapter->InjectFilteredSession(discovery_filter2.Pass()); | 385 adapter->InjectFilteredSession(std::move(discovery_filter2)); |
| 384 adapter->InjectFilteredSession(discovery_filter3.Pass()); | 386 adapter->InjectFilteredSession(std::move(discovery_filter3)); |
| 385 | 387 |
| 386 scoped_ptr<BluetoothDiscoveryFilter> resulting_filter = | 388 scoped_ptr<BluetoothDiscoveryFilter> resulting_filter = |
| 387 adapter->GetMergedDiscoveryFilter(); | 389 adapter->GetMergedDiscoveryFilter(); |
| 388 resulting_filter->GetRSSI(&resulting_rssi); | 390 resulting_filter->GetRSSI(&resulting_rssi); |
| 389 resulting_filter->GetUUIDs(resulting_uuids); | 391 resulting_filter->GetUUIDs(resulting_uuids); |
| 390 EXPECT_TRUE(resulting_filter->GetTransport()); | 392 EXPECT_TRUE(resulting_filter->GetTransport()); |
| 391 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL, | 393 EXPECT_EQ(BluetoothDiscoveryFilter::Transport::TRANSPORT_DUAL, |
| 392 resulting_filter->GetTransport()); | 394 resulting_filter->GetTransport()); |
| 393 EXPECT_EQ(-85, resulting_rssi); | 395 EXPECT_EQ(-85, resulting_rssi); |
| 394 EXPECT_EQ(4UL, resulting_uuids.size()); | 396 EXPECT_EQ(4UL, resulting_uuids.size()); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 606 // Start discovery and find a device. | 608 // Start discovery and find a device. |
| 607 StartLowEnergyDiscoverySession(); | 609 StartLowEnergyDiscoverySession(); |
| 608 DiscoverLowEnergyDevice(1); | 610 DiscoverLowEnergyDevice(1); |
| 609 DiscoverLowEnergyDevice(4); | 611 DiscoverLowEnergyDevice(4); |
| 610 EXPECT_EQ(2, observer.device_added_count()); | 612 EXPECT_EQ(2, observer.device_added_count()); |
| 611 EXPECT_EQ(2u, adapter_->GetDevices().size()); | 613 EXPECT_EQ(2u, adapter_->GetDevices().size()); |
| 612 } | 614 } |
| 613 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) | 615 #endif // defined(OS_ANDROID) || defined(OS_MACOSX) |
| 614 | 616 |
| 615 } // namespace device | 617 } // namespace device |
| OLD | NEW |