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

Commit 71f42b3b authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "leaudio: Add DisconnectAcl method to leAudioDevice" am: d983af38

parents 158f9e4b d983af38
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@
#include "osi/include/log.h"
#include "osi/include/osi.h"
#include "osi/include/properties.h"
#include "stack/btm/btm_dev.h"
#include "stack/btm/btm_sec.h"
#include "stack/include/btu.h"  // do_in_main_thread
#include "state_machine.h"
@@ -899,14 +898,9 @@ class LeAudioClientImpl : public LeAudioClient {
    }

    if (acl_force_disconnect) {
      uint16_t acl_handle =
          BTM_GetHCIConnHandle(leAudioDevice->address_, BT_TRANSPORT_LE);
      if (acl_handle != HCI_INVALID_HANDLE) {
        acl_disconnect_from_handle(acl_handle, HCI_ERR_PEER_USER,
                                   "bta::le_audio::client disconnect");
     leAudioDevice->DisconnectAcl();
     return;
    }
    }

    BtaGattQueue::Clean(leAudioDevice->conn_id_);
    BTA_GATTC_Close(leAudioDevice->conn_id_);
+12 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include "gd/common/strings.h"
#include "le_audio_set_configuration_provider.h"
#include "osi/include/log.h"
#include "stack/include/acl_api.h"

using bluetooth::hci::kIsoCigFramingFramed;
using bluetooth::hci::kIsoCigFramingUnframed;
@@ -1660,6 +1661,17 @@ void LeAudioDevice::Dump(int fd) {
  dprintf(fd, "%s", stream.str().c_str());
}

void LeAudioDevice::DisconnectAcl(void) {
  if (conn_id_ == GATT_INVALID_CONN_ID) return;

  uint16_t acl_handle =
      BTM_GetHCIConnHandle(address_, BT_TRANSPORT_LE);
  if (acl_handle != HCI_INVALID_HANDLE) {
    acl_disconnect_from_handle(acl_handle, HCI_ERR_PEER_USER,
                               "bta::le_audio::client disconnect");
  }
}

AudioContexts LeAudioDevice::GetAvailableContexts(void) {
  return avail_snk_contexts_ | avail_src_contexts_;
}
+1 −0
Original line number Diff line number Diff line
@@ -141,6 +141,7 @@ class LeAudioDevice {
  void DeactivateAllAses(void);
  void ActivateConfiguredAses(void);
  void Dump(int fd);
  void DisconnectAcl(void);
  std::vector<uint8_t> GetMetadata(types::LeAudioContextType context_type);
  bool IsMetadataChanged(types::LeAudioContextType context_type);