mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
Internal fix
PiperOrigin-RevId: 622865759
This commit is contained in:
committed by
Copybara-Service
parent
b9184d39ec
commit
d2c8fc3cd5
@@ -231,6 +231,12 @@ bool BleV2::IsAdvertising(const std::string& service_id) const {
|
||||
return IsAdvertisingLocked(service_id);
|
||||
}
|
||||
|
||||
bool BleV2::IsAdvertisingForLegacyDevice(const std::string& service_id) const {
|
||||
MutexLock lock(&mutex_);
|
||||
|
||||
return IsAdvertisingForLegacyDeviceLocked(service_id);
|
||||
}
|
||||
|
||||
bool BleV2::StartLegacyAdvertising(
|
||||
const std::string& input_service_id, const std::string& local_endpoint_id,
|
||||
const std::string& fast_advertisement_service_uuid) {
|
||||
@@ -621,6 +627,11 @@ bool BleV2::IsAdvertisingLocked(const std::string& service_id) const {
|
||||
return advertising_infos_.contains(service_id);
|
||||
}
|
||||
|
||||
bool BleV2::IsAdvertisingForLegacyDeviceLocked(
|
||||
const std::string& service_id) const {
|
||||
return service_ids_to_advertising_sessions_.contains(service_id + "-Legacy");
|
||||
}
|
||||
|
||||
bool BleV2::IsScanningLocked(const std::string& service_id) const {
|
||||
if (FeatureFlags::GetInstance()
|
||||
.GetFlags()
|
||||
|
||||
@@ -78,6 +78,9 @@ class BleV2 final {
|
||||
bool IsAdvertising(const std::string& service_id) const
|
||||
ABSL_LOCKS_EXCLUDED(mutex_);
|
||||
|
||||
bool IsAdvertisingForLegacyDevice(const std::string& service_id) const
|
||||
ABSL_LOCKS_EXCLUDED(mutex_);
|
||||
|
||||
// Use dummy bytes to do ble advertising, only for legacy devices.
|
||||
// Returns true, if data is successfully set, and false otherwise.
|
||||
bool StartLegacyAdvertising(
|
||||
@@ -150,6 +153,11 @@ class BleV2 final {
|
||||
bool IsAdvertisingLocked(const std::string& service_id) const
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex_);
|
||||
|
||||
// Same as IsAdvertisingForLegacyDevice(), but must be called with `mutex_`
|
||||
// held.
|
||||
bool IsAdvertisingForLegacyDeviceLocked(const std::string& service_id) const
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex_);
|
||||
|
||||
// Same as IsScanning(), but must be called with `mutex_` held.
|
||||
bool IsScanningLocked(const std::string& service_id) const
|
||||
ABSL_EXCLUSIVE_LOCKS_REQUIRED(mutex_);
|
||||
|
||||
@@ -592,7 +592,9 @@ TEST_F(BleV2Test, CanStartAndStopLegacyAdvertising) {
|
||||
ble_a.StartLegacyAdvertising(service_id, std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid)));
|
||||
EXPECT_FALSE(ble_a.IsAdvertising(service_id));
|
||||
EXPECT_TRUE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
EXPECT_TRUE(ble_a.StopLegacyAdvertising(service_id));
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
@@ -607,6 +609,7 @@ TEST_F(BleV2Test, CanNotStartLegacyAdvertisingWhenRadioNotEnabled) {
|
||||
EXPECT_FALSE(
|
||||
ble_a.StartLegacyAdvertising(service_id, std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid)));
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
@@ -618,11 +621,14 @@ TEST_F(BleV2Test, CanNotStopLegacyAdvertisingForNonExistingServiceId) {
|
||||
BleV2 ble_a{radio_a};
|
||||
radio_a.Enable();
|
||||
std::string service_id(kServiceIDA);
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
EXPECT_FALSE(ble_a.StopLegacyAdvertising(service_id));
|
||||
EXPECT_TRUE(
|
||||
ble_a.StartLegacyAdvertising(service_id, std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid)));
|
||||
EXPECT_TRUE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
EXPECT_TRUE(ble_a.StopLegacyAdvertising(service_id));
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
@@ -641,6 +647,7 @@ TEST_F(BleV2Test, StartLegacyAdvertisingBlockedByRegularAdvertising) {
|
||||
EXPECT_FALSE(
|
||||
ble_a.StartLegacyAdvertising(service_id, std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid)));
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
ble_a.StopAdvertising(std::string(kServiceIDA));
|
||||
env_.Stop();
|
||||
}
|
||||
@@ -651,13 +658,16 @@ TEST_F(BleV2Test, DuplicateStartLegacyAdvertisingReturnsFalse) {
|
||||
BleV2 ble_a{radio_a};
|
||||
radio_a.Enable();
|
||||
std::string service_id(kServiceIDA);
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
EXPECT_TRUE(
|
||||
ble_a.StartLegacyAdvertising(service_id, std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid)));
|
||||
EXPECT_TRUE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
EXPECT_FALSE(
|
||||
ble_a.StartLegacyAdvertising(service_id, std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid)));
|
||||
EXPECT_TRUE(ble_a.StopLegacyAdvertising(service_id));
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(service_id));
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
@@ -678,6 +688,7 @@ TEST_F(BleV2Test, HandleLegacyAdvertising) {
|
||||
ble_b.StartLegacyAdvertising(std::string(kServiceIDA),
|
||||
std::string(kLocalEndpointId),
|
||||
std::string(kFastAdvertisementServiceUuid));
|
||||
EXPECT_FALSE(ble_a.IsAdvertisingForLegacyDevice(std::string(kServiceIDA)));
|
||||
std::string legacy_service_id("NearbySharing");
|
||||
EXPECT_TRUE(ble_a.StartScanning(
|
||||
legacy_service_id, PowerLevel::kHighPower,
|
||||
|
||||
Reference in New Issue
Block a user