[LineageOS News & Discussion] Harinus:
1) Description: https://jira.lineageos.org/browse/BUGBASH-653

Background: The registration of the "EMAIL Message Access" Service seems to be faulty.

The MAP: MSE MAS Email Instance Support was added to CM14.1 but not CM13!

https://github.com/LineageOS/androi...mmit/819847bb7f72a69a7d7fc662bcd37625247fceec

There is also a switch to disable all new non-aosp bt data features:

https://github.com/LineageOS/androi...mmit/96a55efb0edac3c2af523f938b338dd16d4f8ac4

However it might be useful to fix the originating issue which I assume is the SDP registration of those features: -> No one has checked this until now..

Fix: https://review.lineageos.org/#/c/177998/

2) Description: https://jira.lineageos.org/browse/BUGBASH-308

Background: The BMWs (and probably other cars also) check the available codecs first:

BTA_AG_AT_BAC_EVT /* avablable codec */

and expect the wide-band speech [WBS] profile. Because that is not enabled on compile level the BMW sends a BTA_AG_CLOSE_EVT.

The connection is terminated and phone_state_change tries to continue with an invalid idx because the SLC connection is already down.

If you look at the logcat of the motog closely, you can find the following:

bt_btif : btif_hf_upstreams_evt: event=BTA_AG_WBS_EVT
audio_hw_primary: adev_set_parameters: enter: bt_wbs=on

Therefore the build must have been compiled with: BTM_WBS_INCLUDED

#if (BTM_WBS_INCLUDED == TRUE )
#define BTA_AG_WBS_EVT 31 /* SCO codec info */
#endif

Fix: https://review.lineageos.org/#/c/177996/

NOTE: If you are experiencing mute calls or garbled incall sound after this, continue with 3a/3b depending on your device

3a) Description: Garbled /mute incall sounds on bluetooth (msm8974)

Background:

The sample rate for calls is usually 8k, however for wide-band speech it is 16k. It seems that some devices cannot handle this sample rate and will only work on WBS with 8k.

This behavior was confirmed on the klte. The fix might be ported to other devices:

Fix: https://review.lineageos.org/#/c/178371/

3b) Description: Garbled /mute incall sounds (Universal HAL)

Background: Unlike the klte, many Exynos devices have a shared audio HAL that supports 16k WBS however there was a small misuse of the sample rate constant resulting in garbled sound.

The usage of audio_hal.force_voice_config = (wide or narrow) is usually not required (add if needed)

If the fix from 3a has been applied or was previously set, remove any definitions of SCO_WBS_SAMPLERATE in the vendor config.

Fix: https://review.lineageos.org/#/c/182054/

Right now this in in testing. We are looking for more affected devices that are using android_hardware_samsung as audio HAL.

Update: See the detailed list of possible affected devices below, as far as I see all of them have not yet enabled WBS yet.

3c) Description: Garbled /mute incall sounds on bluetooth (msm89** / jfltexx)

[MENTION=4184025]jorgemiguel4[/MENTION] Found out what fixes the mute calls: Thanks to you!

This will enable WBS (for the car support) but it will use the default codec instead which does not have the WBS samplerate issue.

Therefore audio quality might not be perfect but at least it works.

4) Description: Ringer & notification sounds through headset and speaker

Background:

When pressing volume up/down buttons or on incoming calls the sound is played on both headset and speaker which seems to be an odd behaviour. This is not only for bluetooth, also for wired headsets and headphones. The issue seems to be quite old and some might say it works as designed: https://xdaforums.com/showthread.php?t=2320446

However as this is a custom firmware we can change the corresponding audio routes!

Fix: https://github.com/Harinus/android_...mmit/f104a3d9775e6c6cfdfbb6e61f16b036d207c18b (will need modification for other devices)

Wrote this with my best knowledge and belief. If there is any incorrect information, please let me know.

Special thanks to [MENTION=2627456]akk29[/MENTION], [MENTION=5968293]side[/MENTION] and everyone on webchat, gerrit and jira who provided help/logs :)