History log of /system/bt/btif/src/btif_dm.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7fe86917d75785f33992b172e5241744a0f80e17 09-Jun-2017 Pavlin Radoslavov <pavlin@google.com> Ignore the Class Of Device if the value is invalid

If a Bluetooth Device is dual-mode and is discoverable as both
a Classic and a LE device, ignore unknown "zero" values
triggered by the LE advertisements. Otherwise, those could overwrite
a valid (previously discovered) Class Of Device.

Bug: 37615863
Test: Manual with LG HBS1100 headset
Change-Id: I5a0f6ef56248b41d973b850a5542475e45e0312d
(cherry picked from commit a052757882927c042399d614bc298f9704ce07a3)
/system/bt/btif/src/btif_dm.cc
cfd6525c3d30e0efec789b5ddbf25dd24e37cc15 28-Apr-2017 Jakub Pawlowski <jpawlowski@google.com> LE advertise data parsing refactor

* merge BTM_CheckAdvData and BTM_CheckEirData into GetFieldByType
* check wether AD data is properly formatted when the packet is
received. Some controllers were returning malformed data that
resulted in stack crashes for BT5 packets.
* add tests to verify the helpers work as expected

Test: added net_test_stack_ad_parser
Bug: 37671082
Change-Id: I49e43d7cf7d0a8ace1ee45d9b14b2b8440096b05
(cherry picked from commit 103b2c44d3db6172a2dc9319e215eeece504316e)
/system/bt/btif/src/btif_dm.cc
4f484079fd27effce2675ed38f3cdf88da42ab04 13-Apr-2017 Andre Eisenbach <eisenbach@google.com> Do not remove device security record on LMP timeout

If an LMP timeout is encountered in the middle of authentication, the
link key is removed from the controller (but not from NVRAM). This can
result in a follow up connction triggering a LINK_KEY_MISSING reply,
which in turn can cause a remote device to initiate pairing which will
then finally remove the link key stored in NVRAM as well.

This change prevents the link key from being removed from the Bluetooth
controller in case of a timeout during link authentication.

Bug: 36798442
Test: manual
Change-Id: Ic89a16b45756e3d40b2e374c645c8f245f6ce3fc
(cherry picked from commit 1f5ec7304fc4e297f9f9868b5bd9382c2a26c8cc)
/system/bt/btif/src/btif_dm.cc
5a8a162d9ea86958ffb410e3bfeed93872b4de69 17-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> LE Maximum Advertising Data Length (4/4)

Add ability to check maximum advertising data length.

Bug: 30622771
Test: manual
Change-Id: I0f3c806046157633f8e2106c1b2700c4277a2b4d
/system/bt/btif/src/btif_dm.cc
ff8011811b0de81e79dd1451fcc80f0d0f6a84f2 17-Mar-2017 Pavlin Radoslavov <pavlin@google.com> Use the correct buffer size when copying device inquiry response data

Bug: 36372989
Test: Running ASAN build
Change-Id: I6016e7609ba24db632222ff4613017e3be30b09c
/system/bt/btif/src/btif_dm.cc
4b1feb60f3478aced5e106749f00f1e75e65d454 10-Mar-2017 Jakub Pawlowski <jpawlowski@google.com> Bluetooth 5 feature check implementation (1/3)

Wire the new feature check API to actual values received from the
controller.

Test: manual
Bug: 30622771
Change-Id: I2eefb7d5bb00d89ac7ea803191ba05f830080ade
/system/bt/btif/src/btif_dm.cc
0595ca0018ac9980d1dd7e192301f8494a01f9cb 07-Feb-2017 Jakub Pawlowski <jpawlowski@google.com> Advertising data handling improvements

* use non-hardcoded advertise data size
* use cache for keeping non-complete advertising data, waiting either
for scan scan response, or secondary channel data.

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I689edcb4aee30361df15340029559cd19dac552b
/system/bt/btif/src/btif_dm.cc
ad6afdf96c11a371163535dd6ee2b4c838365fbb 04-Jan-2017 Jakub Pawlowski <jpawlowski@google.com> Get rid of BTA_DmBleCfgFilterCondition

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I93b4f1275b9437a20cf1429d184dbefa79451986
/system/bt/btif/src/btif_dm.cc
1febda970642d98aae351d70fa062200a8d4ee8b 30-Dec-2016 Jakub Pawlowski <jpawlowski@google.com> Use callbacks for LE filter functions (BTM layer)

This patch use callbacks, instead of custom event queue when scheduling
LE filter VSC.

Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I64ac4392883c647d1e500c257c31a8d3e740a0a8
/system/bt/btif/src/btif_dm.cc
f3175629208a64b190dde4dcf5f92cacef70d3e9 09-Dec-2016 Jack He <siyuanh@google.com> Fix A2DP metrics session duration

* Fixed A2DP duration counting. It is now counting from music play start
to music play end.
* Start logging a2dp connection as Bluetooth sessions. Currently, only
A2DP connections are logged. Thus the bluetooth session length will be
the total connection length and the length within A2DP session message
will be the audio connection length.
* Add a audio_duration_millis field in A2DPSession to record audio duration
* Add bonded memory constraint for metrics entries
* Use a builder mechanism to only build metrics upon dumping
* Refactor metrics module into BluetoothMetricsLogger class
* Created unit test for BluetoothMetricsLogger

Bug: 33694310
Test: Code compilation, Unit test, BtFunhausMetricsTest
Change-Id: Iea2a997c4ea074687a5d50860e9229f0e1b82659
/system/bt/btif/src/btif_dm.cc
e39606565035a103562d0485a90b18962592ae97 29-Dec-2016 Jakub Pawlowski <jpawlowski@google.com> LE scanner BTA layer simplification

BTA layer for scanner is very complicated. This patch simplifies it:
* get rid of type redeclarations for BTM types
* get rid of trivial *_act methods and call BTM API directly where possible

Bug: 30622771
Test: slra FilterTest
Change-Id: I3899b30074b2abc4a3945c5cc14f1bb40a504876
/system/bt/btif/src/btif_dm.cc
8843cc830b522cfe6f1e361297fc28fd331a1378 17-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HIDD: Add support for HID Device Role

This patch adds support for HID Device role in bluedroid stack allowing
DUT to be used as Keyboard or Mouse.

Bug: 33011576
Change-Id: I45b581a54f6c7bbc1f25226715a7ea23e34255c0
/system/bt/btif/src/btif_dm.cc
709843216679a3c7852d7d254fde47a9d503abd8 16-Dec-2016 Jakub Pawlowski <jpawlowski@google.com> BLE scan filter setup simplification (2/3)

Bug: 30622771
Test: sl4a BleScanTest
Change-Id: I55e6c201849a057995c0c6fda1c52af826749922
/system/bt/btif/src/btif_dm.cc
f2af1c42ccb2f642b241c2261b42d0be61d45438 13-Dec-2016 Jack He <siyuanh@google.com> Replace assert with CHECK from base/logging.h

* Replace assert with CHECK
* Remove all NDEBUG definitions
* Remove hacks for BT_LIBCHROME_NDEBUG
* Removed some removed directories from Makefile such as hcis, brcm, rpc

Coccinelle-assisted:

@@
@@

- #include "base/logging.h"
+ #include <base/logging.h>

@ assert_included @
@@

@ base_logging_included @
@@

@ depends on (assert_included && !(base_logging_included)) @
@@

- #include <assert.h>
+ #include <base/logging.h>

@ depends on (assert_included && base_logging_included) @
@@

- #include <assert.h>

@@
expression E;
@@

- assert(E);
+ CHECK(E);

And a bash script:

for file in $(find . -name "*.cc"); do
spatch --sp-file replace_assert_with_CHECK.cocci --in-place $file
done

The following files are maually edited:
btif/src/btif_config.cc
btif/src/btif_avrcp_audio_track.cc
btif/src/btif_gatt_client.cc
osi/src/data_dispatcher.cc
osi/src/reactor.cc
osi/src/thread.cc
osi/src/fixed_queue.cc
osi/src/list.cc
osi/src/allocation_tracker.cc
osi/src/alarm.cc
osi/test/wakelock_test.cc

Bug: 31781465
Test: Code compilation, Unit Tests, BtStressTest, BtFunhausMetricsTest
Change-Id: I21dc10a45be31665e41441b75b0515ed87523988
/system/bt/btif/src/btif_dm.cc
ee96a3c60fca590d38025925c072d264e06493c4 23-Nov-2016 Myles Watson <mylesgw@google.com> Fix asterisks in block quotes

Remove double asterisks from block quotes.

git grep -lP '^[*][*]' | xargs sed 's/^[*][*]/ \*/' -i

Fix asterisk line lengths

git grep -l '^[ /][*]\{79,\}[*/]' | \
xargs sed -i s,"^\([ /]\)[*]\([*]\{78\}\)[*]*\([*/]\)","\1\2\3",

Test: mma -j32
Change-Id: Ie3fd375ac2f804cb0f53bf1314a005e85973b3d7
/system/bt/btif/src/btif_dm.cc
f33b6f434f086b20fabe5913016bc423ac975057 23-Nov-2016 Marie Janssen <jamuraa@google.com> readability fix: No assigns in if conditionals

Coccinelle-assisted:
@@
variable i;
expression E;
statement S1, S2;
@@

+ i = E;
if (
(
- (i = E)
+ i
!= ...
|
- (i = E)
+ i
== ...
|
- (i = E)
+ i
< ...
|
- (i = E)
+ i
> ...
|
- (i = E)
+ i
<= ...
|
- (i = E)
+ i
>= ...
|
- (i = E)
+ i
)
) S1 else S2

for file in $(find . -name "*.cc"); do
spatch --sp no-if-assigns.cocci --in-place $file
done

clang-format --style=file -i bta/**/*.cc

Test: mma -j37 and basic sanity testing on angler, sailfish

Change-Id: I41a2964afac347c24e13869b6c172e321e646091
/system/bt/btif/src/btif_dm.cc
9008888d24407541aa383aa4bd363a40abbf954b 16-Nov-2016 Myles Watson <mylesgw@google.com> Fix formatting after removing defines

clang-format -i --style=file bta/*/* btif/*/* include/*

Test: mma -j32
Change-Id: I9ebb32f0cc5bd24a7cb2ae25699999aab5036b13
/system/bt/btif/src/btif_dm.cc
84baa7f16e830394408278dbb8c508dd9fa02887 14-Nov-2016 Myles Watson <mylesgw@google.com> Remove BLE_INCLUDED define

Test: Connect to a BLE Keyboard
Change-Id: I5f8f4017c90c3c404004632fd10e6c2b93bd7783
/system/bt/btif/src/btif_dm.cc
a638cc509bf8fe4157c0aa5d3e39011063d3587a 11-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> Fix incorrect check for empty out-of-band pairing data

Bug: 32780409
Test: try pairing with nRF52DK using OOB LE SC
Change-Id: I3c165843bb76c372b76bdc18a7d9226345d39037
/system/bt/btif/src/btif_dm.cc
7921e8f594079e00e90173a8fe7483ad72443b34 10-Nov-2016 Jakub Pawlowski <jpawlowski@google.com> BLE OOB Pairing - parse address type (1/5)

When address type is not parsed, creating bond to devices not using
random address is impossible.

Bug: 32780409
Test: try pairing with nRF52DK using random address
Change-Id: I95c4ebc7bd03cd1b895c9f17deef2e57d8b57d2a
/system/bt/btif/src/btif_dm.cc
583b817eda2dd638a5d14c5af2c77a850a796049 06-Dec-2013 Ayan Ghosh <abghosh@codeaurora.org> Restart sniff timer on AVDTP signalling channel establishment

VolksWagan UHV Preminum takes time to initiate AVDTP media channel
after AVDTP signalling channel is up. If mentioned duration exceeds
7 seconds then ACL link goes into sniff due to which A2dp Connection
fails.

With this change we make sure that when AVDTP signalling channel
is up and media channel is not connected we do not go to sniff,
which is achieved by restarting sniff timer on signalling channel up
so that link does not go to sniff in between ongoing connection.

Change-Id: Ic3f268703067155ffd55a43f320ce199641c6b3f
/system/bt/btif/src/btif_dm.cc
d7ffd64accbd50a27289a388856e56244ccbb5da 27-Oct-2016 Myles Watson <mylesgw@google.com> Remove deprecated UNUSED macro (5/5)

Include osi.h for UNUSED_ATTR.

Test: mma -j32

Change-Id: I43260669dc1f54639e46cc9620093d727ee86276
/system/bt/btif/src/btif_dm.cc
d35a648d39710bbc5ac59f8add85166455af5af7 27-Oct-2016 Myles Watson <mylesgw@google.com> Remove deprecated UNUSED macro (1/5)

Generated automatically with coccinelle

/* This rule matches functions with arguments
* that have an UNUSED(arg) in the body.
*/
@r1@
identifier arg;
identifier fn;
type t;
parameter list[n] P;
@@

fn(P, const t arg) { ...
UNUSED(arg);
...
}

/* This rule removes the UNUSED line, and adds
* UNUSED_ATTR to the parameter list.
*/
@depends on r1@
identifier r1.arg;
identifier r1.fn;
type r1.t;
parameter list[r1.n] r1.P;
typedef UNUSED_ATTR;
@@

fn(P,
- const t arg
+ UNUSED_ATTR GETRIDOFTHISCOMMA, const t arg
) { ...
-UNUSED(arg);
...
}

Test: mma -j32

Change-Id: Idcaadd688d669d484e557becd050e69454508f3c
/system/bt/btif/src/btif_dm.cc
6e8198a22da7871a611ef991772ee827a69a9c46 14-Apr-2016 Nitin Arora <niarora@codeaurora.org> Avoid skipping SDP after link key derivation

Use Case:
In case of cross key derivation of BR link key from a secure LTK,
the corresponding BR transport needs to go through the SDP routine
and alert the upper layers regarding the bond completion of the
BR transport. This specific procedure is currently getting skipped
in an attempt to prevent spurious link key notifications from causing
bond state changes

Fix:
Added an additional check to make sure that the LE pairing is not
ongoing before skipping the SDP. This uses the sequence of operations
where the LE LTK is generated first and link key is derived from the
LTK.

Test: mma -j32
Change-Id: Ife242c93c3adf90d581ac0bbf4896dd164b9f8e2
/system/bt/btif/src/btif_dm.cc
f45481678af0694902b5200ba69ced4cb61d73f0 19-Oct-2016 Myles Watson <mylesgw@google.com> btif: Fixup clang-format

In src/btif_sock_l2cap.cc:
Move a comment before the define and run clang-format again.

Fix formatting in comments that were more than 80-characters wide.

Test: mma -j32
Change-Id: I17465a1425d1de9a28f0675fe65c8529359a87af
/system/bt/btif/src/btif_dm.cc
6bd442f543972b072ef2cbbcf2f7c91202de1045 19-Oct-2016 Myles Watson <mylesgw@google.com> btif: Apply clang-format

clang-format doesn't understand block quotes of this form:

/* This is not handled well
** because there are two asterisks
**/

cd btif/

# Replace '**' at the beginning of the line with ' *'

sed 's/^[*][*]/ \*/' -i include/* src/* test/* co/*
clang-format --style=file -i src/* include/* test/* co/*

Test: mma -j32
Change-Id: I2477eae5480602d5b2fee5ec89c9ed7888022341
/system/bt/btif/src/btif_dm.cc
22df051605e0ab4cdc32b2ae5a4189c742e30d36 17-Mar-2016 Srinu Jella <sjella@codeaurora.org> Remove bonded device information on pairing rejected

Use Case: Remove bonded device information from the BTIF layer storage
when authentication failed.

Failure: Remote device appeared in the paired list after authentication
failed.

Steps:
1. Create a connection from DUT to remote.
2. Remove linkkey in remote.
3. Create connection from DUT to remote, which is in paired list of
DUT, Remote rejected the connection and authentication failed.
But after BT OFF/ON, remote device appeared in the paired list

Root Cause: Not removing device if remoted rejected the pairing
request with reason pairing not allowed

Fix: Remove bonded device information from the BTIF layer storage
on rejected with pairing not allowed reason from remote

Change-Id: Ic9e5e1ed70d304edd3dbca82a73833753fa0093c
/system/bt/btif/src/btif_dm.cc
a5764686f719d8d779d8a5ff8cc64010b7893e36 10-Oct-2016 Marie Janssen <jamuraa@google.com> btif: migrate from pthread locks to std::mutex

Test: run unit tests / sanity connection to devices
Change-Id: I293c3600affd229fea67cdd6624eba7f186cbcb7
/system/bt/btif/src/btif_dm.cc
80d7f60680f483a71e413f2453ab20013aff5c5c 02-Mar-2016 George Burgess IV <gbiv@google.com> Replace all uses of sprintf() with snprint()

- sprintf() does not limit the length of the character string when writing
to a buffer and may result in buffer overflow
- snprintf() requires the maximum write length as a parameter. When the
maximum length supported is smaller than the reserved buffer length,
the call will not result in buffer overflow

Bug: 31859081
Test: TestTracker/64195/3975
Change-Id: I519f8ef7b9b162fd79094f89148250d783c734c0
/system/bt/btif/src/btif_dm.cc
7df43240c4a7cf5ecd58a39f03d235bf52929d79 15-Sep-2016 Jakub Pawlowski <jpawlowski@google.com> Add a missing case for BTA_DM_SEARCH_CANCEL_CMPL_EVT

Cancelling discovery was not handled properly in
btif_dm_search_services_evt and was causing crashes due to assert in
default case.

Bug: 31442085
Change-Id: If9a2c203730c9b06df5ff8d8e251f0c35addcb82
/system/bt/btif/src/btif_dm.cc
87e6897a713bba095e8185474c7abb1ff8f8ad2b 10-Mar-2016 Marie Janssen <jamuraa@google.com> Check size of pin before replying

If a malicious client set a pin that was too long it would overflow
the pin code memory.

Bug: 27411268
Change-Id: I9197ac6fdaa92a4799dacb6364e04671a39450cc
(cherry picked from commit 7120b9f35f1c3d8b4f115bc9bb39ab39443886e1)
/system/bt/btif/src/btif_dm.cc
07c78929de34a470b364a4789440d0fd98e77627 07-Jul-2016 Jacky Cheung <jackyc@google.com> New status code for two SMP authorization failures

On BTA_DM_AUTH_SMP_UNKNOWN_ERR and BTA_DM_AUTH_SMP_CONN_TOUT, bond state
status will be notified as BT_STATUS_AUTH_FAILURE. This is observed during
the pairing flow with iOS devices.

Plus minor cleanup on SMP errors and fail reasons.

Bug: 29779689
Change-Id: Ia32fe6bb84b07272d5159409f65217a06a2e5f8e
(cherry picked from commit 6984b19d95736d7205fc6302a21e8be564617287)
/system/bt/btif/src/btif_dm.cc
bd60854e49f88196bb3bcb38346214f8c6c3f3c9 28-Jul-2016 Jakub Pawlowski <jpawlowski@google.com> Add LE Secure Connection data parsing (3/4)

Bug: 30460956
Change-Id: I216142090fe99b25ef7697fceceb278b761a182b
/system/bt/btif/src/btif_dm.cc
43b12942cabad3a9934a4faac32393de25b65cd6 07-Jul-2016 Andre Eisenbach <eisenbach@google.com> Disable auto-pairing for hands-free devices

Fixes: 30004157
Change-Id: Id170856fbee5ea345f02f55d3a6e3376d846c2de
(cherry picked from commit e8b81851c33095fe3b3ac78329073309be5421e1)
/system/bt/btif/src/btif_dm.cc
b7f64bc45dec7f7fec74ceb04874f322b9434bbf 22-Jun-2016 Marie Janssen <jamuraa@google.com> btif: standardize types, #ifs

Use standard types everywhere.
Use standard style for #if statements:
- #if (VAR_NAME == TRUE)
- #if (VAR_NAME1 == TRUE && VAR_NAME2 == TRUE)
Use __func__ instead of __FUNCTION__

Change-Id: Ic29d1d0b32c3ca9953752a4e5da6c28f45ec8895
/system/bt/btif/src/btif_dm.cc
b7938c1866dd8b92977e3ba3632de77fd877bace 27-May-2016 Jakub Pawlowski <jpawlowski@google.com> Convert HID and Device Manager BTA code to C++

These are the only places that use BTA GATTC API. After this change it's
possible to change GATT API to use C++ types as arguments.

Bug: 28485365
Change-Id: Idf83396f4bc3a2cc8a9b41f69da5d033af1be678
/system/bt/btif/src/btif_dm.cc
0bd0c8fc88a7141691a7ca839b11cb711945ee33 15-Mar-2016 Nitin Arora <niarora@codeaurora.org> Remote device changes for SMP certification

Use Case:
Certification test cases for SMP require various scenarios
where the remote device needs to show a specific behavior
where it fails the pairing in a certain way, and the DUT is
required to abort the pairing properly.
In abcense of a proper PTS suite to execute these test cases,
we can use another device running the same host by configuring
certain run time property.

Test Cases:
TP/SCJW/BI-02-C
TP/SCJW/BV-02-C
TP/SCPK/BI-03-C
TP/SCPK/BI-04-C
TP/SCPK/BV-02-C
TP/SCPK/BV-03-C
TP/SCJW/BI-01-C
TP/SCCT/BV-01-C
TP/SCCT/BV-02-C
TP/SCPK/BI-01-C
TP/SCPK/BI-02-C
TP/SCPK/BV-04-C
TP/SCPK/BV-01-C

Fix:
Added a property in the bt_stack.conf file. The property name
is "SmpFailureCase". The values 2 to 6(inclusive), are forcausing SMP
failures with various failure reasons.
Failure case 1 and 9 are for producing error "Confirm value failure".
Cases 7 and 8 are for generating specific errors at pair cancel.

Note:
The default use of this feature is controlled using a compile
time flag BTM_BLE_SMP_CERTIFICATION.
The BTM_BLE_SMP_CERTIFICATION = TRUE is needed only while we
wait for the PTS support for the LE Secure connections.

Bug: 27852645
Change-Id: I1f7a8ff2659d85b5978b75870c57162a34d394d0
/system/bt/btif/src/btif_dm.cc
19117701657073f3b8ba03620c081a8976b318a6 26-May-2016 Jakub Pawlowski <jpawlowski@google.com> Convert GATT related BTA code to C++

Change-Id: I9c36d0ebeb1143395b3b38b3d179d12a9503d28a
/system/bt/btif/src/btif_dm.cc
234af83f69d70dc89a2c7ae6557b8c63f737437b 06-Jan-2016 Balraj Selvaraj <bselva@codeaurora.org> Increasing LE Properties to broadcast.

Use case: Remote BD_NAME is not broadcasted when BLE device
pairing is done by using NFC where we broadcasted only UUID.

steps:
Connect with BLE device by using NFC and check the remote name.

Failure: Remote device name is not available.

Root cause: BD_NAME is not broadcasted when BLE device pairing
is done.

Fix: Added property to broadcast remote BD_NAME also as part
BLE device pairing using NFC.

Change-Id: Ie6cda489aabff15a0ebbc692a16f9428729a7dba
/system/bt/btif/src/btif_dm.cc
2aa2b80259612d1a324891c2e036a7bb002b2462 12-Mar-2016 Nitin Arora <niarora@codeaurora.org> PTS: Read SMP pairing options from bt_stack.conf

Use Case:
A number of cenrtification test cases require the host
to change the pairing options including auth request,
I/O capabilities, key distribution mask, key length
and Out of band capability.

Test Case: TP/PKE/BV-02-C

Failure:
Host currently only supports fixed SMP options and only
a few test cases involving pairing, are executed due
to that limitation.

Fix:
Added changes to read the SMP options from the bt_stack.conf
file at run time.
The pairing options are entered as a comma separated list eg:
SMPOptions=0xD,0x4,0xf,0xf,0x10
where the included hex values are in the following order:
\#auth, io, ikey, rkey, ksize
If all 5 options are not present, the host falls back to the
default values

Bug: 27852645
Change-Id: I693b05966695cf4660c5da10249c5f7c0663e53a
/system/bt/btif/src/btif_dm.cc
4cdb0e547b0dd056e60cc4724efa10c07e45fb96 11-Mar-2016 Nitin Arora <niarora@codeaurora.org> PTS: Avoid BR SDP after LE pairing

Use Case: Certification test case requiring LE secure pairing
with PTS.

Test Case: TP/SCJW/BV-01-C

Failure:
While pairing with PTS for certification test cases, LE secure
pairing followed by BR/EDR cross key derivation results in the
host initiating the SDP to gather the remote BR/EDR services.
PTS considers it as a test failure.

Fix: Added run time flag in bt_stack.conf file
"PTS_DisableSDPOnLEPair" to disable the SDP immidiately after
LE pairing followed by cross key derivation.

Bug: 27852645
Change-Id: Ib5a05c47b99c2ef8256967a608ae9ebbdfba60ee
/system/bt/btif/src/btif_dm.cc
def4219f08f34fd5d930b1b98cfd8e3f29b3fc86 05-May-2016 Ajay Panicker <apanicke@google.com> Fix undefined usage of snprintf

Using a buffer as both the format and output for snprintf could
cause undefinied behaviour on certain platforms. Instead just
use a temporary variable.

Bug: 27882028
Change-Id: If9f96fba4b3447b3248917ab9fb994bd80cbca0f
/system/bt/btif/src/btif_dm.cc
d62d67889d01217affd849596fe9ffe166f623ee 05-May-2016 Ajay Panicker <apanicke@google.com> Fix size of SDP black list array

Bug: 28617843
Change-Id: Iff5690e3aae42d9907ed9351f1059461985c8a20
/system/bt/btif/src/btif_dm.cc
713993d1784ab7c23aee1fa3cf1ab8676cc0aa69 21-Apr-2016 Jakub Pawlowski <jpawlowski@google.com> Convert BTIF code from C to C++

Modifications required:
* added proper casting
* moved variable definitions before goto statements
* added 'extern "C"' markers where needed
* renamed 'operator' to 'operator_name'

Bug: 28485365
Change-Id: I903357967387207e678866c02e008f047f8263f6
/system/bt/btif/src/btif_dm.cc