Commit 27a65a40 authored by James Vecore's avatar James Vecore Committed by Commit Bot

[Nearby] Plumb fast adv uuid for StartDiscovery

The fast advertising uuid was not being passed through to
StartDiscovery in the NearbyConnections layer.

Fixed: 1134779
Change-Id: I94e16540a41d635834cd74febd4eb2b4ffb309c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2448110Reviewed-by: default avatarRyan Hansberry <hansberry@chromium.org>
Reviewed-by: default avatarAlex Gough <ajgo@chromium.org>
Commit-Queue: James Vecore <vecore@google.com>
Cr-Commit-Position: refs/heads/master@{#813836}
parent b42b0bba
...@@ -132,10 +132,10 @@ void NearbyConnectionsManagerImpl::StartDiscovery( ...@@ -132,10 +132,10 @@ void NearbyConnectionsManagerImpl::StartDiscovery(
} }
discovery_listener_ = listener; discovery_listener_ = listener;
// TODO(b/168659459): Inject kFastAdvertisementServiceUuid once BLE scanning
// actually uses it.
nearby_connections_->StartDiscovery( nearby_connections_->StartDiscovery(
kServiceId, DiscoveryOptions::New(kStrategy), kServiceId,
DiscoveryOptions::New(
kStrategy, device::BluetoothUUID(kFastAdvertisementServiceUuid)),
endpoint_discovery_listener_.BindNewPipeAndPassRemote(), endpoint_discovery_listener_.BindNewPipeAndPassRemote(),
std::move(callback)); std::move(callback));
} }
......
...@@ -145,6 +145,9 @@ class NearbyConnectionsManagerImplTest : public testing::Test { ...@@ -145,6 +145,9 @@ class NearbyConnectionsManagerImplTest : public testing::Test {
NearbyConnectionsMojom::StartDiscoveryCallback callback) { NearbyConnectionsMojom::StartDiscoveryCallback callback) {
EXPECT_EQ(kServiceId, service_id); EXPECT_EQ(kServiceId, service_id);
EXPECT_EQ(kStrategy, options->strategy); EXPECT_EQ(kStrategy, options->strategy);
EXPECT_EQ(
device::BluetoothUUID("0000fef3-0000-1000-8000-00805f9b34fb"),
options->fast_advertisement_service_uuid);
listener_remote.Bind(std::move(listener)); listener_remote.Bind(std::move(listener));
std::move(callback).Run(Status::kSuccess); std::move(callback).Run(Status::kSuccess);
......
...@@ -185,7 +185,9 @@ void NearbyConnections::StartDiscovery( ...@@ -185,7 +185,9 @@ void NearbyConnections::StartDiscovery(
mojo::PendingRemote<mojom::EndpointDiscoveryListener> listener, mojo::PendingRemote<mojom::EndpointDiscoveryListener> listener,
StartDiscoveryCallback callback) { StartDiscoveryCallback callback) {
ConnectionOptions connection_options{ ConnectionOptions connection_options{
.strategy = StrategyFromMojom(options->strategy)}; .strategy = StrategyFromMojom(options->strategy),
.fast_advertisement_service_uuid =
options->fast_advertisement_service_uuid.canonical_value()};
mojo::SharedRemote<mojom::EndpointDiscoveryListener> remote( mojo::SharedRemote<mojom::EndpointDiscoveryListener> remote(
std::move(listener)); std::move(listener));
DiscoveryListener discovery_listener{ DiscoveryListener discovery_listener{
......
...@@ -211,6 +211,8 @@ class NearbyConnectionsTest : public testing::Test { ...@@ -211,6 +211,8 @@ class NearbyConnectionsTest : public testing::Test {
client_proxy = client; client_proxy = client;
EXPECT_EQ(kServiceId, service_id); EXPECT_EQ(kServiceId, service_id);
EXPECT_EQ(Strategy::kP2pPointToPoint, options.strategy); EXPECT_EQ(Strategy::kP2pPointToPoint, options.strategy);
EXPECT_EQ(kFastAdvertisementServiceUuid,
options.fast_advertisement_service_uuid);
client->StartedDiscovery(service_id, options.strategy, listener, client->StartedDiscovery(service_id, options.strategy, listener,
/*mediums=*/{}); /*mediums=*/{});
return Status{Status::kAlreadyDiscovering}; return Status{Status::kAlreadyDiscovering};
...@@ -219,7 +221,9 @@ class NearbyConnectionsTest : public testing::Test { ...@@ -219,7 +221,9 @@ class NearbyConnectionsTest : public testing::Test {
base::RunLoop start_discovery_run_loop; base::RunLoop start_discovery_run_loop;
nearby_connections_->StartDiscovery( nearby_connections_->StartDiscovery(
kServiceId, kServiceId,
mojom::DiscoveryOptions::New(mojom::Strategy::kP2pPointToPoint), mojom::DiscoveryOptions::New(
mojom::Strategy::kP2pPointToPoint,
device::BluetoothUUID(kFastAdvertisementServiceUuid)),
fake_discovery_listener.receiver.BindNewPipeAndPassRemote(), fake_discovery_listener.receiver.BindNewPipeAndPassRemote(),
base::BindLambdaForTesting([&](mojom::Status status) { base::BindLambdaForTesting([&](mojom::Status status) {
EXPECT_EQ(mojom::Status::kAlreadyDiscovering, status); EXPECT_EQ(mojom::Status::kAlreadyDiscovering, status);
......
...@@ -148,6 +148,8 @@ struct DiscoveryOptions { ...@@ -148,6 +148,8 @@ struct DiscoveryOptions {
// The strategy to use for discovering. Must match the strategy used in // The strategy to use for discovering. Must match the strategy used in
// AdvertisingOptions in order to see advertisements. // AdvertisingOptions in order to see advertisements.
Strategy strategy; Strategy strategy;
// The fast advertisement service id to scan for in BLE.
bluetooth.mojom.UUID fast_advertisement_service_uuid;
}; };
// Options for a call to NearbyConnections::RequestConnection(). // Options for a call to NearbyConnections::RequestConnection().
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment