Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ac707da authored by Chris Manton's avatar Chris Manton
Browse files

le_advertising_manager::RegisterAdvertiser use proper advertising status

Bug: 351027576
Test: m .
Flag: EXEMPT, Mechanical Refactor

Change-Id: I1d8199ea1b7e6cd8dc004cc02b1a24e27b2f10c2
parent 57ea71b8
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -742,7 +742,8 @@ struct LeAdvertisingManager::impl : public bluetooth::hci::LeAddressManagerCallb
  }

  void register_advertiser(
          common::ContextualOnceCallback<void(uint8_t /* inst_id */, uint8_t /* status */)>
          common::ContextualOnceCallback<void(uint8_t /* inst_id */,
                                              AdvertisingCallback::AdvertisingStatus /* status */)>
                  callback) {
    AdvertiserId id = allocate_advertiser();
    if (id == kInvalidId) {
@@ -1753,7 +1754,8 @@ void LeAdvertisingManager::StartAdvertising(
}

void LeAdvertisingManager::RegisterAdvertiser(
        common::ContextualOnceCallback<void(uint8_t /* inst_id */, uint8_t /* status */)>
        common::ContextualOnceCallback<void(uint8_t /* inst_id */,
                                            AdvertisingCallback::AdvertisingStatus /* status */)>
                callback) {
  CallOn(pimpl_.get(), &impl::register_advertiser, std::move(callback));
}
+2 −1
Original line number Diff line number Diff line
@@ -144,7 +144,8 @@ public:
  void GetOwnAddress(uint8_t advertiser_id);

  void RegisterAdvertiser(
          common::ContextualOnceCallback<void(uint8_t /* inst_id */, uint8_t /* status */)>
          common::ContextualOnceCallback<void(uint8_t /* inst_id */,
                                              AdvertisingCallback::AdvertisingStatus /* status */)>
                  callback);

  void SetParameters(AdvertiserId advertiser_id, AdvertisingConfig config);
+4 −4
Original line number Diff line number Diff line
@@ -1620,9 +1620,9 @@ TEST_F(LeExtendedAdvertisingAPITest, trigger_advertiser_callbacks_if_started_whi
  auto test_le_address_manager = (TestLeAddressManager*)test_acl_manager_->GetLeAddressManager();
  auto id_promise = std::promise<uint8_t>{};
  auto id_future = id_promise.get_future();
  le_advertising_manager_->RegisterAdvertiser(
          client_handler_->BindOnce([](std::promise<uint8_t> promise, uint8_t id,
                                       uint8_t /* _status */) { promise.set_value(id); },
  le_advertising_manager_->RegisterAdvertiser(client_handler_->BindOnce(
          [](std::promise<uint8_t> promise, uint8_t id,
             AdvertisingCallback::AdvertisingStatus /* _status */) { promise.set_value(id); },
          std::move(id_promise)));
  sync_client_handler();
  auto set_id = id_future.get();
+8 −5
Original line number Diff line number Diff line
@@ -63,10 +63,13 @@ public:

    bluetooth::shim::GetAdvertising()->RegisterAdvertiser(
            bluetooth::shim::GetGdShimHandler()->BindOnce(
                    [](::BleAdvertiserInterface::IdStatusCallback cb, uint8_t id, uint8_t status) {
                      do_in_main_thread(
                              base::BindOnce([](::BleAdvertiserInterface::IdStatusCallback cb,
                                                uint8_t id, uint8_t status) { cb.Run(id, status); },
                    [](::BleAdvertiserInterface::IdStatusCallback cb, uint8_t id,
                       AdvertisingCallback::AdvertisingStatus status) {
                      do_in_main_thread(base::BindOnce(
                              [](::BleAdvertiserInterface::IdStatusCallback cb, uint8_t id,
                                 AdvertisingCallback::AdvertisingStatus status) {
                                cb.Run(id, static_cast<uint8_t>(status));
                              },
                              cb, id, status));
                    },
                    cb));