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

Commit c8d97326 authored by Łukasz Rymanowski's avatar Łukasz Rymanowski Committed by Automerger Merge Worker
Browse files

Merge "leaudio: Clear configuration cache when device got disconnected." into...

Merge "leaudio: Clear configuration cache when device got disconnected." into main am: e90b0121 am: e7860413 am: 38502cd5

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2781312



Change-Id: Ie3baf49cdd86e42d8eb9fa5f4d01db087d3aeda8
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents ae2dd12d 38502cd5
Loading
Loading
Loading
Loading
+8 −12
Original line number Original line Diff line number Diff line
@@ -744,6 +744,14 @@ class LeAudioGroupStateMachineImpl : public LeAudioGroupStateMachine {
    /* mark ASEs as not used. */
    /* mark ASEs as not used. */
    leAudioDevice->DeactivateAllAses();
    leAudioDevice->DeactivateAllAses();


    /* Update the current group audio context availability which could change
     * due to disconnected group member.
     */
    group->ReloadAudioLocations();
    group->ReloadAudioDirections();
    group->UpdateAudioContextAvailability();
    group->InvalidateCachedConfigurations();

    /* If group is in Idle and not transitioning, update the current group
    /* If group is in Idle and not transitioning, update the current group
     * audio context availability which could change due to disconnected group
     * audio context availability which could change due to disconnected group
     * member.
     * member.
@@ -751,10 +759,6 @@ class LeAudioGroupStateMachineImpl : public LeAudioGroupStateMachine {
    if ((group->GetState() == AseState::BTA_LE_AUDIO_ASE_STATE_IDLE) &&
    if ((group->GetState() == AseState::BTA_LE_AUDIO_ASE_STATE_IDLE) &&
        !group->IsInTransition()) {
        !group->IsInTransition()) {
      LOG_INFO("group: %d is in IDLE", group->group_id_);
      LOG_INFO("group: %d is in IDLE", group->group_id_);
      group->ReloadAudioLocations();
      group->ReloadAudioDirections();
      group->UpdateAudioContextAvailability();
      group->InvalidateCachedConfigurations();


      /* When OnLeAudioDeviceSetStateTimeout happens, group will transition
      /* When OnLeAudioDeviceSetStateTimeout happens, group will transition
       * to IDLE, and after that an ACL disconnect will be triggered. We need
       * to IDLE, and after that an ACL disconnect will be triggered. We need
@@ -775,14 +779,6 @@ class LeAudioGroupStateMachineImpl : public LeAudioGroupStateMachine {
        ADDRESS_TO_LOGGABLE_CSTR(leAudioDevice->address_),
        ADDRESS_TO_LOGGABLE_CSTR(leAudioDevice->address_),
        group->IsAnyDeviceConnected(), group->HaveAllCisesDisconnected());
        group->IsAnyDeviceConnected(), group->HaveAllCisesDisconnected());


    /* Update the current group audio context availability which could change
     * due to disconnected group member.
     */
    group->ReloadAudioLocations();
    group->ReloadAudioDirections();
    group->UpdateAudioContextAvailability();
    group->InvalidateCachedConfigurations();

    if (group->IsAnyDeviceConnected()) {
    if (group->IsAnyDeviceConnected()) {
      /*
      /*
       * ACL of one of the device has been dropped. If number of CISes has
       * ACL of one of the device has been dropped. If number of CISes has