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

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

le_impl: Co-locate add/remove_device_from_connect_list

Bug: 204433265
Tag: #refactor
Test: gd/cert/run

Change-Id: I268724b7a86cfaf5bdb93a0221182f99b8e5b2e6
parent 3a82b4a8
Loading
Loading
Loading
Loading
+22 −22
Original line number Original line Diff line number Diff line
@@ -404,6 +404,28 @@ struct le_impl : public bluetooth::hci::LeAddressManagerCallback {
    le_address_manager_->ClearConnectList();
    le_address_manager_->ClearConnectList();
  }
  }


  void remove_device_from_connect_list(AddressWithType address_with_type) {
    AddressType address_type = address_with_type.GetAddressType();
    direct_connections_.erase(address_with_type);
    if (!address_manager_registered) {
      le_address_manager_->Register(this);
      address_manager_registered = true;
    }
    pause_connection = true;
    switch (address_type) {
      case AddressType::PUBLIC_DEVICE_ADDRESS:
      case AddressType::PUBLIC_IDENTITY_ADDRESS: {
        le_address_manager_->RemoveDeviceFromConnectList(
            ConnectListAddressType::PUBLIC, address_with_type.GetAddress());
      } break;
      case AddressType::RANDOM_DEVICE_ADDRESS:
      case AddressType::RANDOM_IDENTITY_ADDRESS: {
        le_address_manager_->RemoveDeviceFromConnectList(
            ConnectListAddressType::RANDOM, address_with_type.GetAddress());
      }
    }
  }

  void add_device_to_resolving_list(
  void add_device_to_resolving_list(
      AddressWithType address_with_type,
      AddressWithType address_with_type,
      const std::array<uint8_t, 16>& peer_irk,
      const std::array<uint8_t, 16>& peer_irk,
@@ -592,28 +614,6 @@ struct le_impl : public bluetooth::hci::LeAddressManagerCallback {
        std::move(packet), handler_->BindOnce([](CommandCompleteView complete) {}));
        std::move(packet), handler_->BindOnce([](CommandCompleteView complete) {}));
  }
  }


  void remove_device_from_connect_list(AddressWithType address_with_type) {
    AddressType address_type = address_with_type.GetAddressType();
    direct_connections_.erase(address_with_type);
    if (!address_manager_registered) {
      le_address_manager_->Register(this);
      address_manager_registered = true;
    }
    pause_connection = true;
    switch (address_type) {
      case AddressType::PUBLIC_DEVICE_ADDRESS:
      case AddressType::PUBLIC_IDENTITY_ADDRESS: {
        le_address_manager_->RemoveDeviceFromConnectList(
            ConnectListAddressType::PUBLIC, address_with_type.GetAddress());
      } break;
      case AddressType::RANDOM_DEVICE_ADDRESS:
      case AddressType::RANDOM_IDENTITY_ADDRESS: {
        le_address_manager_->RemoveDeviceFromConnectList(
            ConnectListAddressType::RANDOM, address_with_type.GetAddress());
      }
    }
  }

  void remove_device_from_resolving_list(AddressWithType address_with_type) {
  void remove_device_from_resolving_list(AddressWithType address_with_type) {
    AddressType address_type = address_with_type.GetAddressType();
    AddressType address_type = address_with_type.GetAddressType();
    if (!address_manager_registered) {
    if (!address_manager_registered) {