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

Commit 65e1c3f8 authored by Łukasz Rymanowski (xWF)'s avatar Łukasz Rymanowski (xWF) Committed by Gerrit Code Review
Browse files

Merge changes I060bfd5a,Ie9af76ea,Id2f5f5a0,Ic1ed5769 into main

* changes:
  Remove leaudio_start_stream_race_fix - step 2
  Remove leaudio_start_stream_race_fix - step 1
  Remove leaudio_quick_leaudio_toggle_switch_fix flag
  Remove leaudio_broadcast_assistant_handle_command_statuses flag
parents 514f1ca7 7df9a7dc
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -653,7 +653,6 @@ public class PhonePolicy implements AdapterService.BluetoothStateCallback {
                    csipSetCoordinatorService.getGroupDevicesOrdered(
                            csipSetCoordinatorService.getGroupId(device, BluetoothUuid.CAP));

            if (Flags.leaudioQuickLeaudioToggleSwitchFix()) {
            for (BluetoothDevice dev : groupDevices) {
                if (leAudioService.getConnectionPolicy(dev)
                        == BluetoothProfile.CONNECTION_POLICY_ALLOWED) {
@@ -662,7 +661,6 @@ public class PhonePolicy implements AdapterService.BluetoothStateCallback {
                }
            }
        }
        }

        boolean isLeAudio = isLeAudioOnlyGroup(device);
        debugLog(
+0 −2
Original line number Diff line number Diff line
@@ -502,7 +502,6 @@ public class PhonePolicyTest {
     */
    @Test
    public void testLateConnectOfLeAudioEnabled_DualModeBud() {
        mSetFlagsRule.enableFlags(Flags.FLAG_LEAUDIO_QUICK_LEAUDIO_TOGGLE_SWITCH_FIX);
        Utils.setDualModeAudioStateForTesting(false);
        mPhonePolicy.mLeAudioEnabledByDefault = true;
        mPhonePolicy.mAutoConnectProfilesSupported = true;
@@ -624,7 +623,6 @@ public class PhonePolicyTest {

    @Test
    public void testLateConnectOfLeAudioEnabled_AshaAndLeAudioBud() {
        mSetFlagsRule.enableFlags(Flags.FLAG_LEAUDIO_QUICK_LEAUDIO_TOGGLE_SWITCH_FIX);
        Utils.setDualModeAudioStateForTesting(false);
        mPhonePolicy.mLeAudioEnabledByDefault = true;
        mPhonePolicy.mAutoConnectProfilesSupported = true;
+0 −30
Original line number Diff line number Diff line
@@ -91,16 +91,6 @@ flag {
    bug: "323156655"
}

flag {
    name: "leaudio_start_stream_race_fix"
    namespace: "bluetooth"
    description: "Fix possible race on start stream request"
    bug: "325181889"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "run_ble_audio_ticks_in_worker_thread"
    namespace: "bluetooth"
@@ -148,26 +138,6 @@ flag {
    }
}

flag {
    name: "leaudio_quick_leaudio_toggle_switch_fix"
    namespace: "bluetooth"
    description: "Fix for one device being not connected when toggle LeAudio is switch during bonding"
    bug: "328595942"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "leaudio_broadcast_assistant_handle_command_statuses"
    namespace: "bluetooth"
    description: "Handle command statuses to recover from errors"
    bug: "331167629"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "leaudio_getting_active_state_support"
    namespace: "bluetooth"
+0 −43
Original line number Diff line number Diff line
@@ -87,43 +87,6 @@ BluetoothAudioCtrlAck LeAudioTransport::StartRequest(bool /*is_low_latency*/) {
    return BluetoothAudioCtrlAck::PENDING;
  }

  SetStartRequestState(StartRequestState::PENDING_BEFORE_RESUME);
  if (stream_cb_.on_resume_(true)) {
    auto expected = StartRequestState::CONFIRMED;
    if (std::atomic_compare_exchange_strong(&start_request_state_, &expected,
                                            StartRequestState::IDLE)) {
      log::info("Start completed.");
      return BluetoothAudioCtrlAck::SUCCESS_FINISHED;
    }

    expected = StartRequestState::CANCELED;
    if (std::atomic_compare_exchange_strong(&start_request_state_, &expected,
                                            StartRequestState::IDLE)) {
      log::info("Start request failed.");
      return BluetoothAudioCtrlAck::FAILURE;
    }

    expected = StartRequestState::PENDING_BEFORE_RESUME;
    if (std::atomic_compare_exchange_strong(&start_request_state_, &expected,
                                            StartRequestState::PENDING_AFTER_RESUME)) {
      log::info("Start pending.");
      return BluetoothAudioCtrlAck::PENDING;
    }
  }

  log::error("Start request failed.");
  auto expected = StartRequestState::PENDING_BEFORE_RESUME;
  std::atomic_compare_exchange_strong(&start_request_state_, &expected, StartRequestState::IDLE);
  return BluetoothAudioCtrlAck::FAILURE;
}

BluetoothAudioCtrlAck LeAudioTransport::StartRequestV2(bool /*is_low_latency*/) {
  // Check if operation is pending already
  if (GetStartRequestState() == StartRequestState::PENDING_AFTER_RESUME) {
    log::info("Start request is already pending. Ignore the request");
    return BluetoothAudioCtrlAck::PENDING;
  }

  SetStartRequestState(StartRequestState::PENDING_BEFORE_RESUME);
  if (stream_cb_.on_resume_(true)) {
    std::lock_guard<std::mutex> guard(start_request_state_mutex_);
@@ -380,9 +343,6 @@ LeAudioSinkTransport::LeAudioSinkTransport(SessionType session_type, StreamCallb
LeAudioSinkTransport::~LeAudioSinkTransport() { delete transport_; }

BluetoothAudioCtrlAck LeAudioSinkTransport::StartRequest(bool is_low_latency) {
  if (com::android::bluetooth::flags::leaudio_start_stream_race_fix()) {
    return transport_->StartRequestV2(is_low_latency);
  }
  return transport_->StartRequest(is_low_latency);
}

@@ -471,9 +431,6 @@ LeAudioSourceTransport::LeAudioSourceTransport(SessionType session_type, StreamC
LeAudioSourceTransport::~LeAudioSourceTransport() { delete transport_; }

BluetoothAudioCtrlAck LeAudioSourceTransport::StartRequest(bool is_low_latency) {
  if (com::android::bluetooth::flags::leaudio_start_stream_race_fix()) {
    return transport_->StartRequestV2(is_low_latency);
  }
  return transport_->StartRequest(is_low_latency);
}

+2 −5
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ public:
  ~LeAudioTransport();

  BluetoothAudioCtrlAck StartRequest(bool is_low_latency);
  BluetoothAudioCtrlAck StartRequestV2(bool is_low_latency);

  BluetoothAudioCtrlAck SuspendRequest();

@@ -129,8 +128,7 @@ public:

  ~LeAudioSinkTransport();

  BluetoothAudioCtrlAck StartRequest(bool is_low_latency) override;
  BluetoothAudioCtrlAck StartRequestV2(bool is_low_latency);
  BluetoothAudioCtrlAck StartRequest(bool is_low_latency);

  BluetoothAudioCtrlAck SuspendRequest() override;

@@ -183,8 +181,7 @@ public:

  ~LeAudioSourceTransport();

  BluetoothAudioCtrlAck StartRequest(bool is_low_latency) override;
  BluetoothAudioCtrlAck StartRequestV2(bool is_low_latency);
  BluetoothAudioCtrlAck StartRequest(bool is_low_latency);

  BluetoothAudioCtrlAck SuspendRequest() override;

Loading