mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 14:46:12 -04:00
Remove unused code.
PiperOrigin-RevId: 915643059
This commit is contained in:
committed by
Copybara-Service
parent
b66eebfef4
commit
7d84d08619
@@ -295,17 +295,6 @@ class GattClient final {
|
||||
return impl_->WriteCharacteristic(characteristic, value, write_type);
|
||||
}
|
||||
|
||||
// TODO(qinwangz): We should not need `on_characteristic_changed_cb` when
|
||||
// unsubscribing.
|
||||
// NOLINTNEXTLINE(google3-legacy-absl-backports)
|
||||
bool SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic& characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)>
|
||||
on_characteristic_changed_cb) {
|
||||
return impl_->SetCharacteristicSubscription(
|
||||
characteristic, enable, std::move(on_characteristic_changed_cb));
|
||||
}
|
||||
|
||||
void Disconnect() { impl_->Disconnect(); }
|
||||
|
||||
// Returns true if a client_gatt_connection is usable. If this method
|
||||
|
||||
@@ -55,7 +55,6 @@ using ::nearby::api::ble::BleAdvertisementData;
|
||||
using ::nearby::api::ble::GattCharacteristic;
|
||||
using ::nearby::api::ble::TxPowerLevel;
|
||||
using ::testing::Optional;
|
||||
using ::testing::status::StatusIs;
|
||||
|
||||
constexpr absl::Duration kWaitDuration = absl::Milliseconds(1000);
|
||||
constexpr absl::string_view kAdvertisementString = "\x0a\x0b\x0c\x0d";
|
||||
@@ -771,83 +770,5 @@ TEST_F(BleMediumTest, GattClientOperatiosOnCharacteristic) {
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
TEST_F(BleMediumTest, GattClientSubscribeNotificationGattServerCanNotify) {
|
||||
env_.Start();
|
||||
BluetoothAdapter adapter_a;
|
||||
BluetoothAdapter adapter_b;
|
||||
BleMedium ble_a(adapter_a);
|
||||
BleMedium ble_b(adapter_b);
|
||||
Uuid service_uuid(1234, 5678);
|
||||
Uuid characteristic_uuid(5678, 1234);
|
||||
GattCharacteristic::Permission permissions =
|
||||
GattCharacteristic::Permission::kRead;
|
||||
GattCharacteristic::Property properties =
|
||||
GattCharacteristic::Property::kRead |
|
||||
GattCharacteristic::Property::kNotify;
|
||||
|
||||
// Start GattServer
|
||||
std::unique_ptr<GattServer> gatt_server =
|
||||
ble_a.StartGattServer(/*ServerGattConnectionCallback=*/{});
|
||||
|
||||
ASSERT_NE(gatt_server, nullptr);
|
||||
// Add characteristic and its value.
|
||||
// NOLINTNEXTLINE(google3-legacy-absl-backports)
|
||||
std::optional<GattCharacteristic> server_characteristic =
|
||||
gatt_server->CreateCharacteristic(service_uuid, characteristic_uuid,
|
||||
permissions, properties);
|
||||
EXPECT_TRUE(gatt_server->UpdateCharacteristic(server_characteristic.value(),
|
||||
ByteArray("any")));
|
||||
|
||||
// Start GattClient
|
||||
MacAddress mac_address = adapter_a.GetAddress();
|
||||
std::unique_ptr<GattClient> gatt_client = ble_b.ConnectToGattServer(
|
||||
BlePeripheral(ble_b, mac_address.address()), kTxPowerLevel,
|
||||
/*ClientGattConnectionCallback=*/{});
|
||||
ASSERT_NE(gatt_client, nullptr);
|
||||
|
||||
EXPECT_TRUE(gatt_client->DiscoverServiceAndCharacteristics(
|
||||
service_uuid, {characteristic_uuid}));
|
||||
|
||||
// Subscribes notification
|
||||
EXPECT_TRUE(gatt_client->SetCharacteristicSubscription(
|
||||
server_characteristic.value(), true,
|
||||
[](absl::string_view value) { EXPECT_EQ(value, "hello"); }));
|
||||
|
||||
// Sends notification
|
||||
EXPECT_EQ(gatt_server->NotifyCharacteristicChanged(
|
||||
server_characteristic.value(), false, ByteArray("hello")),
|
||||
absl::OkStatus());
|
||||
|
||||
std::string notified_value;
|
||||
CountDownLatch latch(1);
|
||||
// Subscribes notification
|
||||
EXPECT_TRUE(gatt_client->SetCharacteristicSubscription(
|
||||
server_characteristic.value(), true, [&](absl::string_view value) {
|
||||
notified_value = value;
|
||||
latch.CountDown();
|
||||
}));
|
||||
// Sends indication
|
||||
EXPECT_EQ(gatt_server->NotifyCharacteristicChanged(
|
||||
server_characteristic.value(), true, ByteArray("any")),
|
||||
absl::OkStatus());
|
||||
latch.Await();
|
||||
EXPECT_EQ(notified_value, "any");
|
||||
|
||||
// Unsubscribes notification
|
||||
EXPECT_TRUE(gatt_client->SetCharacteristicSubscription(
|
||||
server_characteristic.value(), false,
|
||||
[&](absl::string_view value) { GTEST_FAIL(); }));
|
||||
EXPECT_THAT(gatt_server->NotifyCharacteristicChanged(
|
||||
server_characteristic.value(), true, ByteArray("any")),
|
||||
StatusIs(absl::StatusCode::kNotFound));
|
||||
|
||||
gatt_client->Disconnect();
|
||||
// Failed to subscribe characteristic notification as gatt is disconnected.
|
||||
EXPECT_FALSE(gatt_client->SetCharacteristicSubscription(
|
||||
server_characteristic.value(), true, [](absl::string_view value) {}));
|
||||
gatt_server->Stop();
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace nearby
|
||||
|
||||
@@ -210,19 +210,6 @@
|
||||
XCTAssertFalse(result);
|
||||
}
|
||||
|
||||
- (void)testSetCharacteristicSubscriptionReturnsFalse {
|
||||
GNCBLEGATTCharacteristic *characteristic =
|
||||
[[GNCBLEGATTCharacteristic alloc] initWithUUID:[CBUUID UUIDWithString:@"B2B4"]
|
||||
serviceUUID:[CBUUID UUIDWithString:@"FEF3"]
|
||||
permissions:CBAttributePermissionsReadable
|
||||
properties:CBCharacteristicPropertyNotify];
|
||||
nearby::api::ble::GattCharacteristic cppCharacteristic =
|
||||
nearby::apple::CPPGATTCharacteristicFromObjC(characteristic);
|
||||
BOOL result = _gattClient->SetCharacteristicSubscription(cppCharacteristic, true,
|
||||
[](absl::string_view value) {});
|
||||
XCTAssertFalse(result);
|
||||
}
|
||||
|
||||
- (void)testDisconnectWhenFlagEnabled {
|
||||
nearby::NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
nearby::connections::config_package_nearby::nearby_connections_feature::
|
||||
|
||||
@@ -66,16 +66,6 @@ class GattClient : public api::ble::GattClient {
|
||||
bool WriteCharacteristic(const api::ble::GattCharacteristic &characteristic,
|
||||
absl::string_view value, api::ble::GattClient::WriteType type) override;
|
||||
|
||||
// Enable or disable notifications/indications for a given characteristic.
|
||||
//
|
||||
// Once notifications are enabled for a characteristic, on_characteristic_changed_cb will be
|
||||
// triggered if the remote device indicates that the given characteristic has changed.
|
||||
//
|
||||
// Returns whether or not the subscription was successful.
|
||||
bool SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic &characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)> on_characteristic_changed_cb) override;
|
||||
|
||||
// Disconnects an established connection, or cancels a connection attempt currently in progress.
|
||||
void Disconnect() override;
|
||||
|
||||
|
||||
@@ -121,13 +121,6 @@ bool GattClient::WriteCharacteristic(const api::ble::GattCharacteristic &charact
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO(b/290385712): Implement.
|
||||
bool GattClient::SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic &characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)> on_characteristic_changed_cb) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void GattClient::Disconnect() {
|
||||
// There seems to be an issue between some iOS<>Android device pairs where the Android device will
|
||||
// not connect to the iOS device if the iOS device disconnects and then attempts to reconnect.
|
||||
|
||||
@@ -248,14 +248,6 @@ class GattClient {
|
||||
virtual bool WriteCharacteristic(const GattCharacteristic& characteristic,
|
||||
absl::string_view value, WriteType type) = 0;
|
||||
|
||||
// https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic,%20boolean)
|
||||
//
|
||||
// Enable or disable notifications/indications for a given characteristic.
|
||||
virtual bool SetCharacteristicSubscription(
|
||||
const GattCharacteristic& characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)>
|
||||
on_characteristic_changed_cb) = 0;
|
||||
|
||||
// https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#disconnect()
|
||||
virtual void Disconnect() = 0;
|
||||
};
|
||||
|
||||
@@ -679,33 +679,6 @@ bool BleMedium::GattClient::WriteCharacteristic(
|
||||
return status.ok();
|
||||
}
|
||||
|
||||
bool BleMedium::GattClient::SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic& characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)>
|
||||
on_characteristic_changed_cb) {
|
||||
absl::MutexLock lock(mutex_);
|
||||
if (!is_connection_alive_) {
|
||||
return false;
|
||||
}
|
||||
Borrowed<api::ble::GattServer*> borrowed = gatt_server_.Borrow();
|
||||
if (!borrowed) {
|
||||
return false;
|
||||
}
|
||||
BleMedium::GattServer* gatt_server =
|
||||
static_cast<BleMedium::GattServer*>(*borrowed);
|
||||
LOG(INFO) << "G3 Ble SetCharacteristicSubscription, characteristic=("
|
||||
<< characteristic.service_uuid.Get16BitAsString() << ","
|
||||
<< std::string(characteristic.uuid) << "), enable = " << enable;
|
||||
if (enable) {
|
||||
return gatt_server->AddCharacteristicSubscription(
|
||||
peripheral_id_, characteristic,
|
||||
std::move(on_characteristic_changed_cb));
|
||||
} else {
|
||||
return gatt_server->RemoveCharacteristicSubscription(peripheral_id_,
|
||||
characteristic);
|
||||
}
|
||||
}
|
||||
|
||||
void BleMedium::GattClient::Disconnect() {
|
||||
bool was_alive = is_connection_alive_.exchange(false);
|
||||
if (!was_alive) return;
|
||||
|
||||
@@ -282,11 +282,6 @@ class BleMedium : public api::ble::BleMedium {
|
||||
absl::string_view value,
|
||||
api::ble::GattClient::WriteType write_type) override;
|
||||
|
||||
bool SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic& characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)>
|
||||
on_characteristic_changed_cb) override;
|
||||
|
||||
void Disconnect() override;
|
||||
|
||||
void OnServerDisconnected();
|
||||
|
||||
@@ -431,80 +431,6 @@ bool BleGattClient::WriteCharacteristic(
|
||||
return false;
|
||||
}
|
||||
|
||||
bool BleGattClient::SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic& characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)>
|
||||
on_characteristic_changed_cb) {
|
||||
absl::MutexLock lock(mutex_);
|
||||
VLOG(1) << __func__ << ": Started to set Characteristic Subscription.";
|
||||
GattClientCharacteristicConfigurationDescriptorValue gcccd_value =
|
||||
GattClientCharacteristicConfigurationDescriptorValue::None;
|
||||
if ((characteristic.property & Property::kNotify) != Property::kNone) {
|
||||
gcccd_value = GattClientCharacteristicConfigurationDescriptorValue::Notify;
|
||||
} else if ((characteristic.property & Property::kIndicate) !=
|
||||
Property::kNone) {
|
||||
gcccd_value =
|
||||
GattClientCharacteristicConfigurationDescriptorValue::Indicate;
|
||||
} else {
|
||||
LOG(WARNING) << "Characeristic: " << std::string(characteristic.uuid)
|
||||
<< " supports neither notifications nor indications.";
|
||||
return false;
|
||||
}
|
||||
|
||||
std::optional<GattCharacteristic> gatt_characteristic;
|
||||
|
||||
gatt_characteristic =
|
||||
native_characteristic_map_[characteristic].native_characteristic;
|
||||
|
||||
if (!gatt_characteristic.has_value()) {
|
||||
LOG(ERROR) << __func__ << ": Failed to get native GATT characteristic.";
|
||||
return false;
|
||||
}
|
||||
|
||||
// Write characteristic configuration descriptor
|
||||
if (!WriteCharacteristicConfigurationDescriptor(
|
||||
gatt_characteristic.value(),
|
||||
enable
|
||||
? gcccd_value
|
||||
: GattClientCharacteristicConfigurationDescriptorValue::None)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Set value changed handler
|
||||
try {
|
||||
if (enable) {
|
||||
native_characteristic_map_[characteristic].on_characteristic_changed_cb =
|
||||
std::move(on_characteristic_changed_cb);
|
||||
native_characteristic_map_[characteristic].notification_token =
|
||||
gatt_characteristic->ValueChanged(
|
||||
[&](GattCharacteristic const& native_characteristic,
|
||||
GattValueChangedEventArgs args) {
|
||||
BleGattClient::OnCharacteristicValueChanged(characteristic,
|
||||
args);
|
||||
});
|
||||
|
||||
if (!native_characteristic_map_[characteristic].notification_token) {
|
||||
LOG(ERROR) << __func__ << ": Failed to add value change handler.";
|
||||
return false;
|
||||
}
|
||||
} else if (native_characteristic_map_[characteristic].notification_token) {
|
||||
gatt_characteristic->ValueChanged(std::exchange(
|
||||
native_characteristic_map_[characteristic].notification_token, {}));
|
||||
}
|
||||
LOG(ERROR) << __func__ << ": Successfully set Characteristic Subscription.";
|
||||
return true;
|
||||
} catch (std::exception exception) {
|
||||
LOG(ERROR) << __func__ << ": Failed to set Characteristic Subscription."
|
||||
<< exception.what();
|
||||
} catch (const winrt::hresult_error& error) {
|
||||
LOG(ERROR) << __func__
|
||||
<< ": Failed to set Characteristic Subscription."
|
||||
" WinRT exception: "
|
||||
<< error.code() << ": " << winrt::to_string(error.message());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void BleGattClient::Disconnect() {
|
||||
absl::MutexLock lock(mutex_);
|
||||
try {
|
||||
|
||||
@@ -63,11 +63,6 @@ class BleGattClient : public api::ble::GattClient {
|
||||
api::ble::GattClient::WriteType write_type) override
|
||||
ABSL_LOCKS_EXCLUDED(mutex_);
|
||||
|
||||
bool SetCharacteristicSubscription(
|
||||
const api::ble::GattCharacteristic& characteristic, bool enable,
|
||||
absl::AnyInvocable<void(absl::string_view value)>
|
||||
on_characteristic_changed_cb) override ABSL_LOCKS_EXCLUDED(mutex_);
|
||||
|
||||
void Disconnect() override ABSL_LOCKS_EXCLUDED(mutex_);
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user