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

Commit a88e2f95 authored by Yuyang Huang's avatar Yuyang Huang Committed by Gerrit Code Review
Browse files

Merge "Integrate bluetooth.sco.managed_by_audio system property with aconfig flag" into main

parents 9a5f95c2 e36c438e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <thread>
#include <vector>

#include "bta/ag/bta_ag_int.h"
#include "include/check.h"

namespace bluetooth {
@@ -287,7 +288,7 @@ bool BluetoothAudioClientInterface::UpdateAudioConfig(
           SessionType::LE_AUDIO_SOFTWARE_DECODING_DATAPATH ||
       transport_->GetSessionType() ==
           SessionType::LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH ||
       (IS_FLAG_ENABLED(is_sco_managed_by_audio) &&
       (bta_ag_is_sco_managed_by_audio() &&
        (transport_->GetSessionType() ==
             SessionType::HFP_SOFTWARE_ENCODING_DATAPATH ||
         transport_->GetSessionType() ==
@@ -318,7 +319,7 @@ bool BluetoothAudioClientInterface::UpdateAudioConfig(
      (is_leaudio_broadcast_offload_session &&
       audio_config_tag == AudioConfiguration::leAudioBroadcastConfig);
  bool is_hfp_offload_audio_config =
      (IS_FLAG_ENABLED(is_sco_managed_by_audio) &&
      (bta_ag_is_sco_managed_by_audio() &&
       transport_->GetSessionType() ==
           SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH &&
       audio_config_tag == AudioConfiguration::hfpConfig);
@@ -424,7 +425,7 @@ int BluetoothAudioClientInterface::StartSession() {
             transport_->GetSessionType() ==
                 SessionType::
                     LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
             (IS_FLAG_ENABLED(is_sco_managed_by_audio) &&
             (bta_ag_is_sco_managed_by_audio() &&
              transport_->GetSessionType() ==
                  SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH)) {
    transport_->ResetPresentationPosition();
@@ -518,7 +519,7 @@ void BluetoothAudioClientInterface::FlushAudioData() {
          SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH ||
      transport_->GetSessionType() ==
          SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
      (IS_FLAG_ENABLED(is_sco_managed_by_audio) &&
      (bta_ag_is_sco_managed_by_audio() &&
       transport_->GetSessionType() ==
           SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH)) {
    return;
+1 −1
Original line number Diff line number Diff line
@@ -789,7 +789,7 @@ void bta_ag_post_sco_close(tBTA_AG_SCB* p_scb, const tBTA_AG_DATA& data) {
                                        "BTA_AG_POST_SCO_CALL_END_INCALL")) {
          break;
        }
        if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
        if (bta_ag_is_sco_managed_by_audio()) {
          // let Audio HAL open the SCO
          break;
        }
+8 −8
Original line number Diff line number Diff line
@@ -1452,7 +1452,7 @@ static void bta_ag_hsp_result(tBTA_AG_SCB* p_scb,
                                        bta_ag_result_text(result.result))) {
          break;
        }
        if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
        if (bta_ag_is_sco_managed_by_audio()) {
          // let Audio HAL open the SCO
          break;
        }
@@ -1475,7 +1475,7 @@ static void bta_ag_hsp_result(tBTA_AG_SCB* p_scb,
                                          bta_ag_result_text(result.result))) {
            break;
          }
          if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
          if (bta_ag_is_sco_managed_by_audio()) {
            // let Audio HAL open the SCO
            break;
          }
@@ -1573,7 +1573,7 @@ static void bta_ag_hfp_result(tBTA_AG_SCB* p_scb,
                                          bta_ag_result_text(result.result))) {
            break;
          }
          if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
          if (bta_ag_is_sco_managed_by_audio()) {
            // let Audio HAL open the SCO
            break;
          }
@@ -1597,7 +1597,7 @@ static void bta_ag_hfp_result(tBTA_AG_SCB* p_scb,
                                          bta_ag_result_text(result.result))) {
            break;
          }
          if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
          if (bta_ag_is_sco_managed_by_audio()) {
            // let Audio HAL open the SCO
            break;
          }
@@ -1624,7 +1624,7 @@ static void bta_ag_hfp_result(tBTA_AG_SCB* p_scb,
                                        bta_ag_result_text(result.result))) {
          break;
        }
        if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
        if (bta_ag_is_sco_managed_by_audio()) {
          // let Audio HAL open the SCO
          break;
        }
@@ -1641,7 +1641,7 @@ static void bta_ag_hfp_result(tBTA_AG_SCB* p_scb,
                                        bta_ag_result_text(result.result))) {
          break;
        }
        if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
        if (bta_ag_is_sco_managed_by_audio()) {
          // let Audio HAL open the SCO
          break;
        }
@@ -1658,7 +1658,7 @@ static void bta_ag_hfp_result(tBTA_AG_SCB* p_scb,
                                          bta_ag_result_text(result.result))) {
            break;
          }
          if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
          if (bta_ag_is_sco_managed_by_audio()) {
            // let Audio HAL open the SCO
            break;
          }
@@ -1680,7 +1680,7 @@ static void bta_ag_hfp_result(tBTA_AG_SCB* p_scb,
                                          bta_ag_result_text(result.result))) {
            break;
          }
          if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
          if (bta_ag_is_sco_managed_by_audio()) {
            // let Audio HAL open the SCO
            break;
          }
+10 −0
Original line number Diff line number Diff line
@@ -442,6 +442,16 @@ const RawAddress& bta_ag_get_active_device();
void bta_clear_active_device();
void bta_ag_send_qac(tBTA_AG_SCB* p_scb, tBTA_AG_DATA* p_data);
void bta_ag_send_qcs(tBTA_AG_SCB* p_scb, tBTA_AG_DATA* p_data);
/**
 * Check if SCO is managed by Audio is enabled. This is set via the system property
 * bluetooth.sco.managed_by_audio.
 * <p>When set to false, Bluetooth will manage the start and end of the SCO.
 * <p>When set to true, Audio will manage the start and end of the SCO through
 * HAL.
 *
 * @return true if SCO managed by Audio is enabled, false otherwise
 */
bool bta_ag_is_sco_managed_by_audio();

namespace fmt {
template <>
+1 −1
Original line number Diff line number Diff line
@@ -463,7 +463,7 @@ void bta_ag_api_disable() {
    }
  }

  if (IS_FLAG_ENABLED(is_sco_managed_by_audio)) {
  if (bta_ag_is_sco_managed_by_audio()) {
    // Stop session if not done
    bta_clear_active_device();
  }
Loading