gd: Fix issue of device that not support BLE privacy
Tag: #gd-refactor
Bug: 189534806
Test: gd/cert/run
Test: bluetooth_test_gd
BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines
Change-Id: I0d823cc8a53335315170e203efe953886c2f0b99
diff --git a/system/gd/hci/le_address_manager.cc b/system/gd/hci/le_address_manager.cc
index b030e23..38d5b2b 100644
--- a/system/gd/hci/le_address_manager.cc
+++ b/system/gd/hci/le_address_manager.cc
@@ -54,10 +54,11 @@
ASSERT(address_policy != AddressPolicy::POLICY_NOT_SET);
ASSERT_LOG(registered_clients_.empty(), "Policy must be set before clients are registered.");
address_policy_ = address_policy;
+ LOG_INFO("SetPrivacyPolicyForInitiatorAddress with policy %d", address_policy);
switch (address_policy_) {
case AddressPolicy::USE_PUBLIC_ADDRESS:
- le_address_ = fixed_address;
+ le_address_ = AddressWithType(public_address_, AddressType::PUBLIC_DEVICE_ADDRESS);
handler_->BindOnceOn(this, &LeAddressManager::resume_registered_clients).Invoke();
break;
case AddressPolicy::USE_STATIC_ADDRESS: {
diff --git a/system/main/shim/controller.cc b/system/main/shim/controller.cc
index 6cc0897..47b75fb 100644
--- a/system/main/shim/controller.cc
+++ b/system/main/shim/controller.cc
@@ -296,11 +296,15 @@
GetController()->GetControllerIsoBufferSize().total_num_le_packets_)
FORWARD_GETTER_IF_RUST(uint8_t, get_le_connect_list_size,
GetController()->GetLeConnectListSize())
-FORWARD_GETTER_IF_RUST(uint8_t, get_le_resolving_list_size,
- GetController()->GetLeResolvingListSize())
+
+static uint8_t ble_resolving_list_max_size = 0;
static void set_ble_resolving_list_max_size(int resolving_list_max_size) {
- LOG_WARN("%s TODO Unimplemented", __func__);
+ ble_resolving_list_max_size = resolving_list_max_size;
+}
+
+static uint8_t get_le_resolving_list_size(void) {
+ return ble_resolving_list_max_size;
}
static uint8_t get_le_all_initiating_phys() { return data_.phy; }