mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-15 07:06:11 -04:00
[NC] Add ServiceControllerRouter constructor for EnableBleV2
Adds a new constructor for the ServiceControllerRouter which overrides the value of the EnableBleV2 flag in Nearby Connections. PiperOrigin-RevId: 601236068
This commit is contained in:
@@ -19,9 +19,9 @@
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#include "absl/memory/memory.h"
|
||||
#include "connections/discovery_options.h"
|
||||
#include "connections/implementation/client_proxy.h"
|
||||
#include "connections/implementation/flags/nearby_connections_feature_flags.h"
|
||||
#include "connections/implementation/offline_service_controller.h"
|
||||
#include "connections/listeners.h"
|
||||
#include "connections/params.h"
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "connections/v3/connection_result.h"
|
||||
#include "connections/v3/connections_device.h"
|
||||
#include "connections/v3/listening_result.h"
|
||||
#include "internal/flags/nearby_flags.h"
|
||||
#include "internal/platform/logging.h"
|
||||
|
||||
// TODO(b/285657711): Add tests for uncovered logic, even if trivial.
|
||||
@@ -86,6 +87,19 @@ ServiceControllerRouter::ServiceControllerRouter() {
|
||||
NEARBY_LOGS(INFO) << "ServiceControllerRouter going up.";
|
||||
}
|
||||
|
||||
// Constructor called by the CrOS platform implementation to override the
|
||||
// kEnableBleV2 flag.
|
||||
ServiceControllerRouter::ServiceControllerRouter(bool enable_ble_v2)
|
||||
: ServiceControllerRouter() {
|
||||
if (NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2) !=
|
||||
enable_ble_v2) {
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2,
|
||||
enable_ble_v2);
|
||||
}
|
||||
}
|
||||
|
||||
ServiceControllerRouter::~ServiceControllerRouter() {
|
||||
NEARBY_LOGS(INFO) << "ServiceControllerRouter going down.";
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ namespace connections {
|
||||
class ServiceControllerRouter {
|
||||
public:
|
||||
ServiceControllerRouter();
|
||||
explicit ServiceControllerRouter(bool enable_ble_v2);
|
||||
virtual ~ServiceControllerRouter();
|
||||
// Not copyable or movable
|
||||
ServiceControllerRouter(const ServiceControllerRouter&) = delete;
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include "absl/types/span.h"
|
||||
#include "connections/implementation/client_proxy.h"
|
||||
#include "connections/implementation/flags/nearby_connections_feature_flags.h"
|
||||
#include "connections/implementation/mock_service_controller.h"
|
||||
#include "connections/listeners.h"
|
||||
#include "connections/params.h"
|
||||
@@ -35,6 +36,7 @@
|
||||
#include "connections/v3/connections_device.h"
|
||||
#include "connections/v3/listening_result.h"
|
||||
#include "connections/v3/params.h"
|
||||
#include "internal/flags/nearby_flags.h"
|
||||
#include "internal/platform/byte_array.h"
|
||||
#include "internal/platform/condition_variable.h"
|
||||
#include "internal/platform/count_down_latch.h"
|
||||
@@ -530,6 +532,32 @@ TEST_F(ServiceControllerRouterTest, QualityConversionWorks) {
|
||||
EXPECT_EQ(router_.GetMediumQuality(Medium::WIFI_AWARE), v3::Quality::kHigh);
|
||||
}
|
||||
|
||||
TEST_F(ServiceControllerRouterTest, EnableBleV2InConstructor) {
|
||||
// This constructor is used to allow the platform to set the value
|
||||
// of kEnableBleV2 to |enable_ble_v2|.
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2, false);
|
||||
EXPECT_FALSE(NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2));
|
||||
ServiceControllerRouter ble_v2_enabled_router =
|
||||
ServiceControllerRouter(/*enable_ble_v2=*/true);
|
||||
EXPECT_TRUE(NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2));
|
||||
}
|
||||
|
||||
TEST_F(ServiceControllerRouterTest, DisableBleV2InConstructor) {
|
||||
// This constructor is used to allow the platform to set the value
|
||||
// of kEnableBleV2 to |enable_ble_v2|.
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2, true);
|
||||
EXPECT_TRUE(NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2));
|
||||
ServiceControllerRouter ble_v2_disabled_router =
|
||||
ServiceControllerRouter(/*enable_ble_v2=*/false);
|
||||
EXPECT_FALSE(NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::kEnableBleV2));
|
||||
}
|
||||
|
||||
TEST_F(ServiceControllerRouterTest, StartAdvertisingCalled) {
|
||||
StartAdvertising(&client_, kServiceId, kAdvertisingOptions,
|
||||
kConnectionRequestInfo, [this](Status status) {
|
||||
|
||||
Reference in New Issue
Block a user