OSDN Git Service

gd: Find and fill TX Power with the correct value
authorChienyuan <chienyuanhuang@google.com>
Thu, 29 Apr 2021 07:54:49 +0000 (15:54 +0800)
committerChienyuan <chienyuanhuang@google.com>
Thu, 29 Apr 2021 08:01:32 +0000 (16:01 +0800)
Tag: #gd-refactor
Bug: 185962046
Test: gd/cert/run
Test: manual
Change-Id: If49961fc02d0cdebc28f0d8d247a98ed35bcd6b4

gd/hci/le_advertising_manager.cc

index aa18b9b..660e7c5 100644 (file)
@@ -429,6 +429,7 @@ struct LeAdvertisingManager::impl : public bluetooth::hci::LeAddressManagerCallb
 
   void set_parameters(AdvertiserId advertiser_id, ExtendedAdvertisingConfig config) {
     advertising_sets_[advertiser_id].connectable = config.connectable;
+    advertising_sets_[advertiser_id].tx_power = config.tx_power;
 
     switch (advertising_api_type_) {
       case (AdvertisingApiType::LEGACY): {
@@ -547,6 +548,14 @@ struct LeAdvertisingManager::impl : public bluetooth::hci::LeAddressManagerCallb
       data.insert(data.begin(), gap_data);
     }
 
+    // Find and fill TX Power with the correct value.
+    for (auto& gap_data : data) {
+      if (gap_data.data_type_ == GapDataType::TX_POWER_LEVEL) {
+        gap_data.data_[0] = advertising_sets_[advertiser_id].tx_power;
+        break;
+      }
+    }
+
     switch (advertising_api_type_) {
       case (AdvertisingApiType::LEGACY): {
         if (set_scan_rsp) {