* Fix of the issue that incoming call triggered
handsfree ringing which didn't stop after
calling side hung up.
* Cleanup of several places in code, minor
bluetooth <-> cellular integration refactor.
Fix for the loudspeaker becomes active again when a headset is unplugged
if it was on while the headset was connected to the phone.
Fix typo in Bluetooth in EventType enum.
Now, both profiles can operate separately. Additonally, minor
fixes has been applied to allow calling via car audio system.
Some infotainment systems still don't work though.
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Adapted both codec and HFP profile to be able to work together.
Now it's possible to stream 2-way audio via HFP profile, but it
has to be integrated properly with EGD-7405
Reworked AppSettings handling of BT devices to be prepared for
handling the HFP profile, eliminating by the way few bugs and
speeding up the flow (by getting rid of few refreshes).
Added unit tests for handling the BT devices flow
Updated the BT stack with events that are handled through the
button so now it's possible to fallback to the earspeaker when
BT connection is lost
Added handling of those events
Added HSP ring sound on incoming call event while
there's bluetooth connection active and HSP is
selected as the current profile.
Possibility of pick up/decline the call using
BT device buttons added.
Slightly changed HSP initialization according
to the UML-s added.
Changed call hangup handler in service cellular.
Add basic playback capability using Bluetooth A2DP profile.
Only stereo/44100/16bit files are supported at the moment
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
To be able to connect to the BT device with more than one audio
profile, we need something to manage those profiles. Created here
ProfileManager made it convenient
To be able to work properly with BT, CPU freq has to be at least
at Level_5 - to be fixed!
To be able to handle properly the Bluetooth stack we need to
get rid of doubled FreeRTOS task and do refactor of
the whole BT section. This is first part of refactor and it
includes integrating run loop into our worker and unifying
namespaces