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

Commit db17b87e authored by Chris Manton's avatar Chris Manton
Browse files

le_impl: Add register_with_address_manager

Bug: 204433265
Tag: #refactor
Test: gd/cert/run
BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines

Change-Id: Ib3fe5d05a84ca0a6da1ff2a407c709108e799def
parent e33f20dc
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -742,16 +742,6 @@ struct le_impl : public bluetooth::hci::LeAddressManagerCallback {
    }
  }

  void check_for_unregister() {
    if (le_acl_connections_.empty() && connecting_le_.empty() && canceled_connections_.empty() &&
        address_manager_registered && ready_to_unregister) {
      le_address_manager_->Unregister(this);
      address_manager_registered = false;
      pause_connection = false;
      ready_to_unregister = false;
    }
  }

  uint16_t HACK_get_handle(Address address) {
    for (auto it = le_acl_connections_.begin(); it != le_acl_connections_.end(); it++) {
      if (it->second.remote_address_.GetAddress() == address) {
@@ -771,6 +761,23 @@ struct le_impl : public bluetooth::hci::LeAddressManagerCallback {
    callbacks->OnLocalAddressUpdate(address_with_type);
  }

  void register_with_address_manager() {
    if (!address_manager_registered) {
      le_address_manager_->Register(this);
      address_manager_registered = true;
      pause_connection = true;
    }
  }

  void check_for_unregister() {
    if (le_acl_connections_.empty() && connecting_le_.empty() && address_manager_registered && ready_to_unregister) {
      le_address_manager_->Unregister(this);
      address_manager_registered = false;
      pause_connection = false;
      ready_to_unregister = false;
    }
  }

  static constexpr uint16_t kMinimumCeLength = 0x0002;
  static constexpr uint16_t kMaximumCeLength = 0x0C00;
  HciLayer* hci_layer_ = nullptr;