Do not send Pairing cancel intent during ACL disconnection

Use Case: Pair with devices which doesn't allow incoming SDP.

Steps:
1. Put DUT in discoverable mode.
2. From Mecapp tool which doesn't allow incoming SDP. Discover
DUT and then bond DUT.

Failure: Authenticaiton is successfull but failure notification
is observed on DUT.

Root Cause: As paring procedure includes SDP search also, even though
user confirms the pairing, when the SDP outgoing conneciton is
rejected by remote device, eventually ACL gets disconnected
in bonding state. As a result failure notificaiton is seen which
is not required.

Fix: Not sending pairing cancel intent after ACL disconnection.

Change-Id: I0a3abc2bffe09bb48d042664e1edf017a8fa3fcd

Stop profile services when Bluetooth enable times out

While moving from OFF to BLE_ON state, we are able to switch
BLE_TURNING_ON state which starts the enable_timeout timer. After timing
out we are stopping profiles other than BLE which may still be active
and can send callbacks while clean-up is in process or complete.

Bug: 27678483
Change-Id: I75d88024a60967fb516ebd0941e8e216d00c20f6

Broadcast UUIDS on BT state transition to ON

Use case: Phone and media connection is not happening
after BT reset during swapping between the HeadSet.

Precondition:
1. WIFI should be on and connected with AP.

Steps:
1. Pair and connect from DUT to PLT legend device.
2. Make an Mobile originated (MO) call.
3. Pair and connect from DUT to carkit.
4. Swap connection between PLT legend and carkit.
5. During swapping turn OFF BT from DUT.
6. Turn ON DUT and wait for auto connection from DUT.
7. Repeat step from 4-6 10 times.

Failure: Failed to connect with HS.

Root cause: Broadcarst UUIDS on receiving the on event
from lower layers even though the state is not
transitioned to ON.

Fix: Broadcast UUIDS on BT state is transitioned to ON
to avoid timing issues related UUIDS.

Change-Id: Ibdbaecd60cf36c599700b1ca353481b8149efa90

GATT: Fix FD leak caused by GATT profile

Use case: BT ON/OFF with one BLE APP active

Failure: FD leak is observed with ON/OFF stress test
which eventually lead to crash due to unavailability
of FDs.

Steps:
BT ON/OFF with one BLE APP active to retain the
same Bluetooth process ID to check the FD leak issue.

Root Cause: As the Advertisementi manager and Scan
Manager are not cleaning up the looper instances as
part of cleanup, it causes FD leak.

Fix: Cleanup the handler threads in Advertisementmanager
and ScanManager so that there are no resource leaks.

Change-Id: Ia51899f449d57c1ef68a9516b8472d1fd492572b

Clear disable flag during BT turn ON

Use Case: Scan timeout is triaggring disable in the middle of enable.

Steps: BT ON\OFF SNS scenario

Failure: BT will reset automatically

Root Cause: While BT turning on scan will timeout and triggers disable
in the middle. Profiles are still starting up and cleanup might cause ANR.

Fix: Clear disable flag during BT turn ON and set scan mode timeout.

Change-Id: Ifafa3adf26b3731789c99ad3ca72a1a8d42f5749
6 files changed