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

Skip to content
Commit d6e7e4ed authored by WhaleChang's avatar WhaleChang Committed by Whale Chang
Browse files

Floss: Prevent SCO/phone state desynchronization by enabling BTA_AG_FEAT_NOSCO

This resolves an issue where the headset and AG could become
desynchronized during call hang-up. Originally, the hang-up process was
split into two separate events: SCO closure and CIEV update. If another
call event occurred between the SCO closure and CIEV update events, the
AG phone state change would not be propagated to the headset.

Enabling BTA_AG_FEAT_NOSCO removes the need for SCO closure when a call
is hung up, which is redundant in Floss as SCO is managed by CRAS.
This ensures that a hang-up call only triggers +CIEV instead of being
split into two separate events, preventing the desynchronization issue.

By enabling BTA_AG_FEAT_NOSCO, this flag will remove all potential SCO
operations from BTA when the phone state changes. This ensures that SCO
management is solely handled by CRAS.

Bug: 340375662
Test: Conduct the following manual tests
  pair Bluetooth Headset
  Google Meet: headset is able hang-up the call
Test: Conduct the following manual tests
  pair Bluetooth Headset
  login Ring Central and place an incoming-call
  answer the call by headset
  hangup the call by headset
Test: Conduct the following manual tests
  pair Bluetooth Headset
  login Ring Central and place an incoming-call
  answer the call on Ring Central
  hangup the call from headset
Test: atest bluetooth_test_gd
Tag: #floss
Flag: EXEMPT, no behavior change on Android; Floss-only changes

Change-Id: I859af1342b99f1e662adeae96e51a95bbcb39862
parent 3505ccf1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment