Bluetooth: Enable saving LE services discovered to NVRAM

These changes allow the LE services discovered to be saved to the
bt_config file and send a HAL callback at the discovery completion
to set the device UUID property, in order to connect to the
service at subsequent connections.

CRs-Fixed: 587389
Change-Id: I8ce145907f58f6711c9c59990aec82187670bd9f
Bluetooth: Increase L2cap LE buffers to support multiple connections.

This enables to receive multiple notifications from multiple remote
hogp devices.
CRs-Fixed: 592115

Change-Id: I6c2115801b107d4739b39aeacad9f2b4603b628b
Bluetooth: Play ring tone on incoming call.

Send ring indication to app to play ringtone
on incoming call.

Change-Id: I64e9e62d8afe82d425b3dbb36ea2ffa7438483c2
CRs-Fixed: 582486
Bluetooth: Check for service availability.

Send AT+COPS and AT+CNUM only if network service
is available on remote device.

Change-Id: If161f21e09a53e36ac109b21e63d2a61b856989e
CRs-Fixed: 592526
Bluetooth: Check for remote version.

Check for remote AG version before sending
AT+BIA.

Change-Id: I80409ed2b5b600b3421bfc67787dbf36adaa02b0
CRs-Fixed: 594073
Bluetooth: Stack certification

Modifications in stack for the stack 3.0 certification.

Change-Id: Ibbf3557c14c1ebf38eb743be578f3e7bd048e8c2
Merge "Bluetooth: Stack certification"
Bluetooth: GAP: Update name as part of Discovery of services

Update the remote device name to upper layers as part of
discovery of remote device services.

CRs-Fixed: 593306
Change-Id: I24d899c1f5ccc81d8b0c4257abae16a7bf5d4682
Bluetooth: AVRCP version 1.3 for Blacklist devices

Few old commercial devices fails to identify AVRCP version
as 1.5 and fall back to 1.0
- Changes done to maintain list of such devices and to
  reply during SDP as AVRCP 1.3.

Change-Id: I51398ab49dd3cba223bd4797abd4c870ba8d1fda
CRs-Fixed: 575013
Bluetooth: GAP: Send bond none in case of temp pairing

Send BOND_NONE in case of temporary device pairing on
receiving the authentication complete, so that UI
doesn't get stucked in pairing for that device.

CRs-Fixed: 593858
Change-Id: Ided412ef89d928f958a0052362be145232411c0a
Bluetooth: GAP: Handle security failure with invalid handle

Return NULL incase of invalid handle when finding a device
based on the handle. This will make sure to avoid giving
a invalid entry from the device list.

Also send authentication failure in case of invalid handle.

Change-Id: Ia95d10ae95cfa1750386233ee90f01899061294e
CRs-Fixed: 592545
Bluetooth: GAP: Serialize the commands during Pairing process

Serialize the Remote version, Remote features, Authentication
requested commands.

This will make sure the above commands doesn't go simultaneously
to the remote device which can't handle the multiple comands
at a time.

CRs-Fixed: 592536
Change-Id: I4448c291a60ee637dc5927806547e67f26571d86
Bluetooth: L2CAP test application for Stack certification

L2CAP test application for the stack 3.0 certification.

Change-Id: Ia8f030fe34b33c4e2ac6dd7cde74cc3f5a65c248
Bluetooth: SDP test application for Stack certification

SDP test application for stack 3.0 certification.

Change-Id: I76cff81e7b6be29d86e846e0290b77abb64aac41
Bluetooth: A2dpSink handle and update supported configuration

 - updated only mandatory configuration for Sink
 - handle statemachine for unsupported configuration
 - reset decoder only if configuration is accepted

Change-Id: I3542ec1643fddd5e0f992a9fd65176776c0c616c
CRs-Fixed: 584843
Bluetooth: Fix to avoid A2DP choppiness while disconnecting PAN

A case where A2DP is going on & PAN is connected. A2DP
choppiness is observed while disconnecting PAN. Because A2DP
media task is unable to write data on L2CAP. As BTU task is
blocked while disconnecting PAN for destroying tap_read_thread,
tap_read_thread should be destroyed in btif context to avoid
the A2DP choppiness.

Change-Id: I0d8c5110743eedf9bce8a41b71a364d0d076ca76
CRs-Fixed: 593440
Merge "Bluetooth: AVRCP version 1.3 for Blacklist devices"
Merge "Bluetooth: GAP: Serialize the commands during Pairing process"
GAP: Fetch remote name after extended feature information

This patch tries to retrieve remote name request after remote extended
feature  is retrieved, so that if remote device has changed its
friendly name, DUT updates the same in its database and doesn't always
use remote name from last paired information.

Change-Id: I8a66aa4f937fcbadbccc7112502a2017bdc9cda8
CRs-Fixed: 593828
Bluetooth: Handle Transient Audio Focus Lost

Changes made to Handler Transient Audio Focus in btif layer.

Change-Id: I7d25a4b9b13ea35784a8232617b9a8c0c55ec5b3
CRs-fixed: 590190