OSDN Git Service

android-x86/system-bt.git
7 years agoMerge "Rectify size passed to copy service name to security records"
Treehugger Robot [Fri, 14 Oct 2016 19:49:05 +0000 (19:49 +0000)]
Merge "Rectify size passed to copy service name to security records"

7 years agoMerge "Remove bonded device information on pairing rejected"
Treehugger Robot [Fri, 14 Oct 2016 19:45:26 +0000 (19:45 +0000)]
Merge "Remove bonded device information on pairing rejected"

7 years agoMerge "Cleanup L2CAP socket properly on close"
Treehugger Robot [Fri, 14 Oct 2016 19:43:05 +0000 (19:43 +0000)]
Merge "Cleanup L2CAP socket properly on close"

7 years agoFix HFP AT command BIA failures
Devin Kim [Wed, 7 Sep 2016 04:47:47 +0000 (13:47 +0900)]
Fix HFP AT command BIA failures

Running the PTE test case TC_AG_IIA_BV_01_I, a failure occurs due to
missing initialization of tBTA_AG_VAL.

Bug: 31325270
Test: PTS
Change-Id: I683eccd53d40e79ec03545166b18ffa1922f0fb2

7 years agoRFCOMM: Prevent sending data in BTA_JV_ST_NONE state
Srinu Jella [Mon, 7 Sep 2015 08:10:07 +0000 (13:40 +0530)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state

This patch adds state check in bta_jv_rfcomm_write, to prevent sending
data in BTA_JV_ST_NONE state. This would prevent an ASSERT in the code
due to a null handle. The handle might have already been set to null
during the closing of the RFCOMM connection.

Change-Id: Ibc6b1fb7aa6dce9a4acb52d724af3023fad9a9ae

7 years agoRectify size passed to copy service name to security records
Gurpreet Ghai [Thu, 9 Jun 2016 09:06:35 +0000 (14:36 +0530)]
Rectify size passed to copy service name to security records

Use case: Services having name length greater than max length
always take new slot in security records. After few enable
disable cycles in BLE ON scenario, the record gets completely
occupied making further connection impossible.

Steps:
1. Install a BLE App to create BLE always ON scenario.
2. Run a few cycles of Bluetooth(BREDR) enable-disable.

Failure: Once security records are completely occupied, new
connections are not possible because of socket creation
failure due to unavailability of security id.

Root cause: Size passed to copy service name does not include
bit for null termination. So, for services having name size
greater than that size have their last bit truncated for null
termination.
During next enable, the comparison with same size always fails
causing service to take new slot in security records array.

Fix: Increased the size passed to copy service name by 1 after
considering null termination.

Change-Id: I3527df6610932f60fd85bcdd14d5b8a527c79722

7 years agoRemove bonded device information on pairing rejected
Srinu Jella [Thu, 17 Mar 2016 11:53:48 +0000 (17:23 +0530)]
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

7 years agoCleanup L2CAP socket properly on close
Srinu Jella [Thu, 7 Apr 2016 13:35:44 +0000 (19:05 +0530)]
Cleanup L2CAP socket properly on close

Use case:
1. Sometimes pairing pop up occurs during Android beam
   transfer though it is not required.
2. No OPP Tx request over OBEX if we cancel during file transfer.

Steps:
1. Pair and connect from DUT to remote.
2. Go to gallery and send a file.
3. Accept same file and stop it from remote during transfer.
4. Repeat step 2-4 10 times.

Failure:
OPP Tx should not fail.

Root cause:
Close request was not properly handled from BTIF layer.

Fix:
1. Close the request properly from BTIF layer
   to close the socket variables and instruct the BTA layer
   close from there as well.

2. Clean up L2CAP socket properly on closure to free
   the entry registered with security manager to avoid
   leak in security manager records.

3. Close the socket for all valid handles including handle 0.

Change-Id: I4e37dcd858af258fbd64fbfb2fbf0083bd743e06

7 years agoAdd missing header files for ninja
Jakub Pawlowski [Fri, 14 Oct 2016 16:09:26 +0000 (09:09 -0700)]
Add missing header files for ninja

Ninja is complaining about unknown size_t and CHAR_BIT.

Test: compile with ninja
Change-Id: I5cf16dbeba964b8553b4e97d9ee21f68891956e3

7 years agoAdd a mechanism to dump A2DP codec stats
Pavlin Radoslavov [Wed, 12 Oct 2016 16:45:30 +0000 (09:45 -0700)]
Add a mechanism to dump A2DP codec stats

Also, added-back A2DP SBC frames related stats:
  - media_read_total_limited_frames
  - media_read_max_limited_frames
  - media_read_limited_count
  - media_read_total_expected_frames
  - media_read_max_expected_frames
  - media_read_expected_count

A2DP SBC State:
  Frames expected (total/max/ave)                         : 9131 / 8 / 6
  Frames limited (total/max/ave)                          : 0 / 0 / 0
  Counts (expected/limited)                               : 1322 / 0

Bug: 30958229
Test: manual
Change-Id: Id6ddea5eb9d39cf03cae84c79968081d56984e91

7 years agoAdd include for CHAR_BIT definition
Jakub Pawlowski [Thu, 13 Oct 2016 23:49:07 +0000 (16:49 -0700)]
Add include for CHAR_BIT definition

ninja is failing to compile due to missing limits.h include

Change-Id: I4c8eb0df7fb521c44358401ed1ce5cafe29384bb

7 years agoMerge "BTIF A2DP Source and Sink refactor and cleanup"
Treehugger Robot [Fri, 14 Oct 2016 01:55:33 +0000 (01:55 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup"

7 years agoBTIF A2DP Source and Sink refactor and cleanup
Pavlin Radoslavov [Mon, 3 Oct 2016 01:34:46 +0000 (18:34 -0700)]
BTIF A2DP Source and Sink refactor and cleanup

* Moved bta/av/bta_av_sbc.c to stack/a2dp/a2d_sbc_up_sample.c
  and renamed the corresponding bta_av_sbc_up_sample_* functions to
  a2d_sbc_up_sample_*
  Also, renamed bta_av_sbc_init_up_sample() to a2d_sbc_init_up_sample()
* Moved A2DP SBC Encoder-related tasks, state and constants from
  btif_a2dp_source.cc to a2d_sbc_encoder.c
* Introduced A2DP encoder callbacks interface tA2D_ENCODER_INTERFACE,
  and added A2D_GetEncoderInterface() to acccess the interface for a codec.
* Updated a2d_sbc_encoder_init() to specify callbacks:
  - a2d_source_read_callback_t - a callback to read audio data for encoding
  - a2d_source_enqueue_callback_t - a callback to enqueue A2DP source
    packets for transmission
* Removed BTIF_MEDIA_TRSCD_* - the encoding is always PCM
* Removed conditionally defined constants and replaced them by
  local definitions:
  - BTIF_MEDIA_BITRATE_STEP -> A2D_SBC_BITRATE_STEP
  - BTIF_A2DP_DEFAULT_BITRATE -> A2D_SBC_DEFAULT_BITRATE
  - BTIF_A2DP_NON_EDR_MAX_RATE -> A2D_SBC_NON_EDR_MAX_RATE
* Hard-coded the read data timeout period A2DP_DATA_READ_POLL_MS to 10ms
* Merged the UNDERRUN read errors into the UNDERFLOW errors.
* Removed the following statistics, because they are not very useful:
  - media_read_total_limited_frames
  - media_read_max_limited_frames
  - media_read_limited_count
  - media_read_total_expected_frames
  - media_read_max_expected_frames
  - media_read_expected_count
* Updated the implementation of buffer_overruns_max_count to
  use the (new) counter tx_queue_max_dropped_messages instead of
  media_read_max_expected_frames
* Replaced usage of LOG_DEBUG() in stack/a2d/ with LOG_VERBOSE():
  the former is enabled by default on some of the builds.
* Renamed:
  - btif_a2dp_sink_audio_focus_state_t -> btif_a2dp_sink_focus_state_t
  - btif_a2dp_sink_set_audio_focus_state_req() ->
    btif_a2dp_sink_set_focus_state_req()
  - tBTIF_A2DP_SINK_CB.RxSbcQ -> rx_audio_queue
  - btif_a2dp_source_start_aa_req() -> btif_a2dp_source_start_audio_req()
  - btif_a2dp_source_stop_aa_req() -> btif_a2dp_source_stop_audio_req()
  - btif_a2dp_source_aa_readbuf() -> btif_a2dp_source_audio_readbuf()
  - tBTIF_A2DP_SOURCE_CB.TxAaQ -> tx_audio_queue
  - BTIF_A2DP_SOURCE_MEDIA_TIMER_MS -> A2D_SBC_ENCODER_INTERVAL_MS
  - tA2D_AV_MEDIA_FEEDINGS -> tA2D_FEEDING_PARAMS
  - tBTIF_A2DP_SOURCE_INIT_AUDIO -> tA2D_ENCODER_INIT_PARAMS
  - tBTIF_A2DP_SOURCE_UPDATE_AUDIO -> tA2D_ENCODER_UPDATE_PARAMS
  - tBTIF_A2DP_SOURCE_INIT_AUDIO_FEEDING -> tBTIF_A2DP_SOURCE_INIT_FEEDING

Bug: 30958229
Test: TestTracker/65192
Change-Id: Iba0a9694bda3dba73f211f1bde25821497fa6a06

7 years agoUse proper socket type in uipc for non-android
Jakub Pawlowski [Thu, 13 Oct 2016 22:46:30 +0000 (15:46 -0700)]
Use proper socket type in uipc for non-android

Change-Id: I5e901ca381c816945146b508770a2aa54d9cdd79

7 years agoUpdate BUILD.gn files
Jakub Pawlowski [Thu, 13 Oct 2016 22:43:15 +0000 (15:43 -0700)]
Update BUILD.gn files

Test: compiled using ninja

7 years agoSplit btif_media_task into Source, Sink and Control
Pavlin Radoslavov [Fri, 23 Sep 2016 23:36:47 +0000 (16:36 -0700)]
Split btif_media_task into Source, Sink and Control

* btif/include/btif_a2dp.h and btif/src/btif_a2dp.cc implement
  the entry points for the BTIF A2DP module.

* btif/include/btif_a2dp_source.h and btif/src/btif_a2dp_source.cc implement
  the BTIF A2DP Source component.

* btif/include/btif_a2dp_sink.h and btif/src/btif_a2dp_sink.cc implement
  the BTIF A2DP Sink component.

* btif/include/btif_a2dp_control.h and btif/src/btif_a2dp_control.cc
  implement the A2DP control mechanism for the audio channel from the
  Media Framework.

Also:
* Removed BTA_AV_SBC_HDR_SIZE and used A2D_SBC_MPL_HDR_LEN instead.
* Removed BTIF_AV_SINK_FOCUS_REQ_EVT, because it is not used.
* Removed many of the "#if (BTA_AV_SINK_INCLUDED == TRUE)" guards.
* Removed "#ifdef USE_AUDIO_TRACK" guard, and always compile the
  corresponding code.
* Removed tBTIF_AV_MEDIA_FEEDINGS_PCM_STATE and moved its state
  to tBTIF_AV_MEDIA_FEEDINGS_STATE .

Bug: 30958229
Test: TestTracker/65192
Change-Id: I20bc52a1d7a7f03c92628a1562f14b7df3ebb445

7 years agoMerge "cleanup: Remove BT_USE_TRACES and BT_TRACE_APPL"
Treehugger Robot [Thu, 13 Oct 2016 00:22:49 +0000 (00:22 +0000)]
Merge "cleanup: Remove BT_USE_TRACES and BT_TRACE_APPL"

7 years agoFix file permissions for source code files
Pavlin Radoslavov [Wed, 12 Oct 2016 19:54:05 +0000 (12:54 -0700)]
Fix file permissions for source code files

Removed file execute permissions for:
 - bta/include/bta_hh_co.h
 - embdrv/sbc/decoder/Android.mk
 - embdrv/sbc/Android.mk
 - embdrv/Android.mk
 - btif/co/bta_ag_co.cc

Test: visual inspection of file permissions
Change-Id: I746debb1e8ceaa1cc14f867641b25cb42c04c7be

7 years agocleanup: Remove BT_USE_TRACES and BT_TRACE_APPL
Marie Janssen [Wed, 12 Oct 2016 19:40:57 +0000 (12:40 -0700)]
cleanup: Remove BT_USE_TRACES and BT_TRACE_APPL

Test: mma in system/bt

Change-Id: I357eb44a97f3935262252cf97c13cef078a95e4d

7 years agoMerge "btif: migrate from pthread locks to std::mutex"
Marie Janssen [Wed, 12 Oct 2016 16:17:42 +0000 (16:17 +0000)]
Merge "btif: migrate from pthread locks to std::mutex"

7 years agoMoved the typedef of period_ms_t from alarm.h to time.h
Pavlin Radoslavov [Wed, 12 Oct 2016 00:46:45 +0000 (17:46 -0700)]
Moved the typedef of period_ms_t from alarm.h to time.h

Test: code compilation
Change-Id: Ib61126d7921d088b045dca6c5b69a5379603fcc3

7 years agobtif: migrate from pthread locks to std::mutex
Marie Janssen [Mon, 10 Oct 2016 20:38:30 +0000 (13:38 -0700)]
btif: migrate from pthread locks to std::mutex

Test: run unit tests / sanity connection to devices
Change-Id: I293c3600affd229fea67cdd6624eba7f186cbcb7

7 years agoManually merge commit 'cc15f06acc3a1447318fefae00b3c10d9b7ae42a' to fix
Stephen Li [Tue, 11 Oct 2016 17:27:31 +0000 (10:27 -0700)]
Manually merge commit 'cc15f06acc3a1447318fefae00b3c10d9b7ae42a' to fix
automerger

BUG:32069275
Change-Id: I60cc50b21fe0d5a5464bd3acc5897ba7c4e05b73

7 years agostack: remove dead (#if 0'd) code
Marie Janssen [Mon, 10 Oct 2016 16:49:14 +0000 (09:49 -0700)]
stack: remove dead (#if 0'd) code

Test: compiles
Change-Id: I34f68c2b166a28622155358ff75478af8d18bed0

7 years agoFix improper connection check for absolute volume
Ajay Panicker [Tue, 11 Oct 2016 03:43:42 +0000 (20:43 -0700)]
Fix improper connection check for absolute volume

Test: Manually tested
Bug: 32060762
Change-Id: Ia6ca97c119d421aef1136f97afccb3f0c126334d

7 years agoReplace all uses of sprintf() with snprint()
George Burgess IV [Wed, 2 Mar 2016 22:00:19 +0000 (14:00 -0800)]
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

7 years agoMerge "Revert "Add dumpsys support for LE connection parameter updates""
Treehugger Robot [Mon, 10 Oct 2016 23:44:10 +0000 (23:44 +0000)]
Merge "Revert "Add dumpsys support for LE connection parameter updates""

7 years agoRemove Jabra headsets from absolute volume blacklist
Andre Eisenbach [Tue, 13 Sep 2016 16:57:51 +0000 (09:57 -0700)]
Remove Jabra headsets from absolute volume blacklist

Firmware fixes are available for affected headsets (Thanks, Jabra!!).

Change-Id: I60b42366d1e8155895cc58fff69f6404415a0406

7 years agoConvert advertising HAL from struct into class (3/3)
Jakub Pawlowski [Thu, 6 Oct 2016 23:52:30 +0000 (16:52 -0700)]
Convert advertising HAL from struct into class (3/3)

Bug: 30622771
Test: all related tests were updated
Change-Id: I9695284ae249fa427ae4b2f3e9649da951102c6c

7 years agoRemove return value of BTM_VendorSpecificCommand function
Jakub Pawlowski [Mon, 10 Oct 2016 19:36:49 +0000 (12:36 -0700)]
Remove return value of BTM_VendorSpecificCommand function

The return value of BTM_VendorSpecificCommand is currently just an
information wether the callback was passed to it or not, but many places
through stack use this value as error indication. Remove it.

Test: unit tests pass
Change-Id: Idf73fc49fb25e52c3aeb64f2305b4498ecacd9a4

7 years agoMerge "Remove return value of BTM_VendorSpecificCommand function"
Treehugger Robot [Mon, 10 Oct 2016 22:21:36 +0000 (22:21 +0000)]
Merge "Remove return value of BTM_VendorSpecificCommand function"

7 years agoRevert "Add dumpsys support for LE connection parameter updates"
Andre Eisenbach [Thu, 6 Oct 2016 22:42:22 +0000 (22:42 +0000)]
Revert "Add dumpsys support for LE connection parameter updates"

Reverting for now after talking to Jacky because this causes  circular dependencies as lower layer (stack/) functions are calling higher layer APIs (btif/) directly.

To restore a change like this, the data should be collected at a lower layer in the stack and reported through polling or a callback.

This reverts commit 8ec8ca4a875eed8b28e6714899f49781537411ae.

Change-Id: I748843864ae7198ea021fe70d2643a62097ab029

7 years agoMerge "L2CAP: Ensure handle is not null before attempting to close a socket"
Treehugger Robot [Mon, 10 Oct 2016 20:19:29 +0000 (20:19 +0000)]
Merge "L2CAP: Ensure handle is not null before attempting to close a socket"

7 years agoRemove return value of BTM_VendorSpecificCommand function
Jakub Pawlowski [Mon, 10 Oct 2016 19:36:49 +0000 (12:36 -0700)]
Remove return value of BTM_VendorSpecificCommand function

The return value of BTM_VendorSpecificCommand is currently just an
information wether the callback was passed to it or not, but many places
through stack use this value as error indication. Remove it.

Test: unit tests pass
Change-Id: Idf73fc49fb25e52c3aeb64f2305b4498ecacd9a4

7 years agoRemove return value from btsnd_hcic_* functions
Jakub Pawlowski [Mon, 10 Oct 2016 18:39:39 +0000 (11:39 -0700)]
Remove return value from btsnd_hcic_* functions

btsnd_hcic_* functions are always returning true, so this return value
is not really useful.

Test: unit tests pass
Change-Id: I06ced65392d180ceed565e45b7831de6aede283c

7 years agoIgnore return value of btsnd_hcic_* functions
Jakub Pawlowski [Mon, 10 Oct 2016 16:35:13 +0000 (09:35 -0700)]
Ignore return value of btsnd_hcic_* functions

btsnd_hcic_* functions return only true. This patch makes sure that no
logic is waiting for "false" value.
Few methods, that had their return value dependent on result of
btsnd_hcic_* were made void.

Test: unit tests pass
Change-Id: I43cff62f461ff35f4bd84e5338f1a587b6a05c58

7 years agoL2CAP: Ensure handle is not null before attempting to close a socket
Joseph Pirozzo [Mon, 10 Oct 2016 14:05:51 +0000 (07:05 -0700)]
L2CAP: Ensure handle is not null before attempting to close a socket

Bug: 32054308
Test: manual, UPF 55
Change-Id: Ib89f7557fa390d60691afe8399a768e8127e52cb
(cherry picked from commit a1fa1bb0d638d5f444bf959fb839e824d69de31d)

7 years agoMerge "Add null check to avoid exception after L2CAP psm assigned"
Treehugger Robot [Fri, 7 Oct 2016 19:51:54 +0000 (19:51 +0000)]
Merge "Add null check to avoid exception after L2CAP psm assigned"

7 years agoHID: Fix to handle UHID_OUTPUT_EV command from UHID driver
Ben YoungTae Kim [Wed, 10 Aug 2016 20:31:23 +0000 (13:31 -0700)]
HID: Fix to handle UHID_OUTPUT_EV command from UHID driver

Incorrect size check for UHID_OUTPUT_EV for incoming data from
UHID driver of kernel was leading to exiting of poll thread.
This was causing IOT issues with Apple Magic Mouse that require
output report to be sent for proper functioning of scroll functionality.

Bug: 28942565
Change-Id: I2eaba1f70b7cd51fb21933031d439543eb141fd2

7 years agoAdd null check to avoid exception after L2CAP psm assigned
Gurpreet Ghai [Wed, 3 Feb 2016 09:31:41 +0000 (15:01 +0530)]
Add null check to avoid exception after L2CAP psm assigned

Use case: BT will get crash in SNS testing.

steps: SNS testing BT ON/OFF.

Failure: Crash is observed.

Root Cause: If the number of supported services increased,
larger service record array is required. Smaller array is
resulting in out of record error causing L2CAP deregister.

Fix: Check added to avoid null pointer exception if null
is returned while fetching sock from id. Also cleanup of
SDP and security records done during BT turning Off.

Change-Id: I2e77127262119cabf2c372f894427dcdf3350e80

7 years agoRefactor advertising data types
Jakub Pawlowski [Wed, 5 Oct 2016 02:30:09 +0000 (19:30 -0700)]
Refactor advertising data types

Currently we have some unnecessary complicated code for handling
advertising data. Get rid of it.

Bug: 30622771
Test: Tests making sure flags and tx power are filled are added
Change-Id: I807cdf11577c357c116c54cab50bbf3261e1ee16

7 years agoUse the correct API to check whether a codec is valid
Pavlin Radoslavov [Wed, 5 Oct 2016 21:25:08 +0000 (14:25 -0700)]
Use the correct API to check whether a codec is valid

Use the (new) A2D_IsPeerSinkCodecValid() API call as appropriate
to check whether the codec information of a Sink peer is valid.
Previously, A2D_IsSourceCodecSupported() was used, and that didn't
match the original code (before the refactoring).
A2D_IsSourceCodecSupported() has extra checks, including min/max bitpool
oundaries, and those shouldn't be used for this initial check - the
bitpool boundaries can be adjusted later.

Similarly, use the new A2D_IsPeerSourceCodecValid() API call instead of
A2D_IsSinkCodecSupported().

Also:
 * Replaced A2D_IsValidCodec() with
   A2D_IsSourceCodecValid(), A2D_IsSinkCodecValid()
   A2D_IsPeerSourceCodecValid(), A2D_IsPeerSinkCodecValid()
   and added the appropriate unit tests.

 * Added extra debug messages to help identify similar issues in the future

Bug: 31749230
Test: manual test with a carkit, and unit tests
Change-Id: Iafaeb82744df9758e686194c91624992a0c55bdf

7 years agoRemove unnecessary checks of BTM_MAX_LOC_BD_NAME_LEN
Jakub Pawlowski [Tue, 4 Oct 2016 23:47:01 +0000 (16:47 -0700)]
Remove unnecessary checks of BTM_MAX_LOC_BD_NAME_LEN

Change-Id: I6e68f80d0d97081a4fc3879e6c11342923cfef7b

7 years agoMake Bluetooth LE multi-advertising testable
Jakub Pawlowski [Wed, 28 Sep 2016 14:36:54 +0000 (07:36 -0700)]
Make Bluetooth LE multi-advertising testable

This patch turns the code that manages LE multi-advertising into the
BleAdvertisingManager class. All HCI calls made by this code were
abstracted into BleAdvertiserHciInterface.

Thanks to those changes, we can mock BleAdvertiserHciInterface and test
the advertising manager.

The BleAdvertisingManagerTest, still has some dependencies on other
code from the "stack" module. These have to be implemented on top of the
test file. In the future, this dependencies should be replaced by mockable
classes.

Test: Tests covering the change are added in this patch.
Bug: 30622771
Change-Id: I4a363678815c235ee01255f462db2a671ef89610

7 years agovendor_lib: Apply clang-format with the new config
Myles Watson [Fri, 30 Sep 2016 15:45:15 +0000 (08:45 -0700)]
vendor_lib: Apply clang-format with the new config

cd vendor_libs/test_vendor_lib/
clang-format ../linux/bt_vendor_linux.c -style=file -i
clang-format include/* test/* src/* -style=file -i

Update the style guide since clang-format help uses the
-style=file option.

Test: mm -j32
Change-Id: I166adfb2bb9a87fefa1242c91e5f180011caa2ad

7 years agobt: replace cutils/log.h with android/log.h
Mark Salyzyn [Wed, 28 Sep 2016 22:31:49 +0000 (15:31 -0700)]
bt: replace cutils/log.h with android/log.h

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I8fb392150441ca5b6bc43dc43a10a3009e22202b

7 years agoMerge "Fix bad GATT client state machine state after successfull cache load"
Jakub Pawlowski [Tue, 4 Oct 2016 00:38:14 +0000 (00:38 +0000)]
Merge "Fix bad GATT client state machine state after successfull cache load"

7 years agoReplace log/log.h with android/log.h
Mark Salyzyn [Thu, 29 Sep 2016 16:16:01 +0000 (09:16 -0700)]
Replace log/log.h with android/log.h

Actually, remove reference, android logging is not used here.

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I37731dc37f61c129f3440e5d9ff1d0e71fe193d0

7 years agoFix bad GATT client state machine state after successfull cache load
Jakub Pawlowski [Mon, 3 Oct 2016 20:25:01 +0000 (13:25 -0700)]
Fix bad GATT client state machine state after successfull cache load

If the GATT service cache was successfully loaded from a file, the
state must be reset to idle.

Bug: 31175159
Change-Id: I92ebf1bec9d2e7467d7412b41923614ec5a13b6d

7 years agotest_vendor: Refactor scheduling of dual_mode_controller event handling
Jorge E. Moreira [Fri, 16 Sep 2016 23:50:41 +0000 (16:50 -0700)]
test_vendor: Refactor scheduling of dual_mode_controller event handling

Moved all controller actions out of read callbacks to task callbacks to
avoid race conditions when modifying internal controller state.

Change-Id: Ie8bb762992755db2dddb6b7bb6a4fe52ab2d0020

7 years agoRemove redundant logic from system/bt/bta
Jack He [Fri, 30 Sep 2016 19:57:44 +0000 (12:57 -0700)]
Remove redundant logic from system/bt/bta

Bug: 31274290
Test: Manual
Change-Id: I5a4bff5e25b08a32709cdc81bac86a641d80f113

7 years agoMerge "Do not request remote name from non-connectable dev"
Treehugger Robot [Fri, 30 Sep 2016 19:40:53 +0000 (19:40 +0000)]
Merge "Do not request remote name from non-connectable dev"

7 years agoMerge "Fix warnings of implicit function declaration in Linux vendor lib"
Treehugger Robot [Fri, 30 Sep 2016 19:33:46 +0000 (19:33 +0000)]
Merge "Fix warnings of implicit function declaration in Linux vendor lib"

7 years agoDo not request remote name from non-connectable dev
Kim Schulz [Fri, 29 Apr 2016 08:26:02 +0000 (10:26 +0200)]
Do not request remote name from non-connectable dev

if an LE device is found during an LE scan, the BT host will try to fetch its name (creating an LE
connection) even though the advertising report received indicates that it is a non-connectable
advertising.
This is pointless and should not happen.

Change-Id: I246e4795b4f4e33f3202908ebff3724e8e89523c

7 years agoFix warnings of implicit function declaration in Linux vendor lib
Patrick Tsai [Sat, 19 Mar 2016 04:12:34 +0000 (21:12 -0700)]
Fix warnings of implicit function declaration in Linux vendor lib

Change-Id: I482f1096e87966f33ba8584ea60188abab3bcc42

7 years agoFix NULL pointer crash in send_at_cmd
Sebastien Griffoul [Fri, 17 Oct 2014 10:14:19 +0000 (12:14 +0200)]
Fix NULL pointer crash in send_at_cmd

If the string argument of send_at_cmd is a null pointer,
then the function should not crash: indeed this is a valid
parameters which can be used to send an AT cmd which doesn't
require any extra parameter.

Test: trivial fix. Existing unit tests still pass.
Change-Id: I3d83eebed660d703cd5a93a19dc73f4f354ab7bf
Signed-off-by: Sebastien Griffoul <sebastien.griffoul@intel.com>
7 years agoEnable libbase logging for whole stack
Jakub Pawlowski [Wed, 28 Sep 2016 01:24:59 +0000 (18:24 -0700)]
Enable libbase logging for whole stack

Currently, only C++ code in the service/ folder can use libbase logging.
This patch makes sure that logging can be used and is properly
configured for usage when the stack is running as part of Bluetooth.apk.

Bug: 31806042
Change-Id: I1f8be79ba9999b53ece0b5217a893b4bd20ecafc

7 years agoMerge "Support TARGET_TRANSLATE_2ND_ARCH case"
Victor Khimenko [Thu, 29 Sep 2016 06:08:00 +0000 (06:08 +0000)]
Merge "Support TARGET_TRANSLATE_2ND_ARCH case"

7 years agoFix 100 LE device connection limitation
Andre Eisenbach [Wed, 28 Sep 2016 01:07:58 +0000 (18:07 -0700)]
Fix 100 LE device connection limitation

Currently after 100 devices are added to the device security database,
any subsequent LE connection to a newly discovered LE device address
will fail as entries in the security record database are not reused.

This patch removes a device record if the device itself is removed and
also ensures that the oldest device security record is deleted if the
limit is reached to ensure a new record can be allocated.

Bug: 31625900
Test: SL4A multi-device connection test + regression
Change-Id: I22f6c82c64a9a9bfb2a16d79182903e5aa011355
(cherry picked from commit 013c32bf98b8d511dc29fcd7de7578a421a52590)

7 years agoSupport TARGET_TRANSLATE_2ND_ARCH case
Victor Khimenko [Wed, 28 Sep 2016 22:40:03 +0000 (00:40 +0200)]
Support TARGET_TRANSLATE_2ND_ARCH case

Build-only change to support the multilib case where the second arch
is translated (and thus bluetooth library is needed).

"True" multilib case is explicitly not supported.

Test: Build system refactoring CL. Existing unit tests still pass.

BUG=31422117

Change-Id: I09f239d39f5dbe0848a89367327db1ea1074ca39

7 years agoSeparate the definition of BTM layer types from control blocks
Jakub Pawlowski [Wed, 28 Sep 2016 16:02:39 +0000 (09:02 -0700)]
Separate the definition of BTM layer types from control blocks

Right now, data types, control blocks, and functions used in the BTM
layer are defined in the same header files. This means that if someone
wants to write a test that uses those data types, they must also define
all control blocks, or compile the whole module.

This patch separates the data types from other definitions. Thanks to
it, we will be able to write unit tests, once other dependencies get
separated.

Change-Id: Ibc089e273cc37642fbb8672964b266c20f8d825d

7 years agoUse better callbacks in LE multi advertising
Jakub Pawlowski [Tue, 6 Sep 2016 14:42:36 +0000 (07:42 -0700)]
Use better callbacks in LE multi advertising

Right now, LE multi advertising related code uses it's own
implementation of queue on top of static array. Use std::queue, and
base::Callback instead.

Changing function pointers to base::Callback instances is required for
further refactoring, which will turn this code into class.

Bug: 30622771
Test: sl4a BleAdvertiseApiTest ConcurrentBleAdvertisingTest
Change-Id: I839e036c6edb4e19a17def4d68d351296468f88c

7 years agoUpdate BUILD.gn files
Jakub Pawlowski [Tue, 27 Sep 2016 15:21:55 +0000 (08:21 -0700)]
Update BUILD.gn files

7 years agoBluetooth: Prevent gatt DB copy if server cache is absent
Nitin Arora [Thu, 14 Jul 2016 01:02:03 +0000 (18:02 -0700)]
Bluetooth: Prevent gatt DB copy if server cache is absent

In case the server cache does not exist for a specific
connection, the API used to copy the server DB into the
DB structure needs to return immediately. This change
makes sure of that and prevents dereferencing of a null
block causing the runtime error.

Change-Id: Iec3040a1280ef9d80b1b9c76eca8071dff499411

7 years agoMerge "Convert BLE multi-advertising code to C++"
Jakub Pawlowski [Fri, 23 Sep 2016 20:53:24 +0000 (20:53 +0000)]
Merge "Convert BLE multi-advertising code to C++"

7 years agoMerge "Move btsnoop_hci.log to /data/misc/bluetooth/logs"
Ajay Panicker [Fri, 23 Sep 2016 19:00:17 +0000 (19:00 +0000)]
Merge "Move btsnoop_hci.log to /data/misc/bluetooth/logs"

7 years agoConvert BLE multi-advertising code to C++
Jakub Pawlowski [Mon, 5 Sep 2016 11:31:34 +0000 (04:31 -0700)]
Convert BLE multi-advertising code to C++

This patch converts btm_ble_multi_adv.c file to .cc. It also separate
header definitions from rest of BTM layer. It is another step towards
making BLE advertising-related code testable.

Bug: 30622771
Change-Id: I89965e10fbf773e48176ee19ef613dd0df2fb951

7 years agoRemoved usage of A2DP codec_type as a separate field
Pavlin Radoslavov [Tue, 20 Sep 2016 21:10:08 +0000 (14:10 -0700)]
Removed usage of A2DP codec_type as a separate field

The value of codec_type can be extracted from the codec_info,
so it is not needed to pass it around as an argument, or keep
it as an field.

Also:
* Added new APIs and the corresponding unit tests:
  - A2D_GetPacketTimestamp()
  - A2D_BuildCodecHeader() - replacement for bta_av_sbc_bld_hdr()
  - A2D_CodecName()
* Replaced tBTA_AV_SEP.codec_type with tBTA_AV_SEP.codec_info

Bug: 30958229
Test: A2DP tested manually. Unit tests included in the CL.
Change-Id: I3bfd4750e8639d77a9938ab3c274c9d6ea859fb6

7 years agoMove btsnoop_hci.log to /data/misc/bluetooth/logs
Ajay Panicker [Wed, 14 Sep 2016 18:46:23 +0000 (11:46 -0700)]
Move btsnoop_hci.log to /data/misc/bluetooth/logs

Bug: 31466840
Change-Id: Ibd8f8b85eb59be8bfbb8a7c83b5935802624a748

7 years agoFix the BLE connection failure with some mice
chaoyu.x.wu [Mon, 11 Apr 2016 06:08:48 +0000 (14:08 +0800)]
Fix the BLE connection failure with some mice

If enable the "connection parameters update" during GATT discovery,
it may cause some device connection failure due to connection timeout.
Since the the "connection parameter update" is enabled again when GATT
discovery completed, remove the enable of "connection parameter update"
after SMP complete to fix the issue.

This issue was already fixed in commit 2d41fe1c, but then it was
re-introduced in commit 444a8da8, which also removed comment explaining
the issue, added back in this patch.

Bug: 29060797
Change-Id: I42b0b36056821c30d887484e22bfcbd04ea7ca03

7 years agoMerge "Fix improper null check when handling rc features"
Treehugger Robot [Thu, 22 Sep 2016 01:49:03 +0000 (01:49 +0000)]
Merge "Fix improper null check when handling rc features"

7 years agoMerge "Remove net_bt_stack group and replace it with bluetooth"
Ajay Panicker [Thu, 22 Sep 2016 01:32:33 +0000 (01:32 +0000)]
Merge "Remove net_bt_stack group and replace it with bluetooth"

7 years agoFix improper null check when handling rc features
Ajay Panicker [Wed, 21 Sep 2016 23:35:00 +0000 (16:35 -0700)]
Fix improper null check when handling rc features

Bug: 31533166
Change-Id: Ia04e9c51280a3e379c0670b39a84eb5a53c5332b

7 years agoBlacklist Motorola Roadster for Absolute Volume
Keizo Mendori [Wed, 8 Jun 2016 02:40:43 +0000 (11:40 +0900)]
Blacklist Motorola Roadster for Absolute Volume

Motorola Roadster is advertizing Absolute Volume but it has a
buggy implementation.

Bug: 29740052
Change-Id: I18c1a2f03617669138be2e7e1d9c7bb391cd1129

7 years agoMerge changes from topics 'bt-only-pcm-media-feeding-format', 'bt-a2d-sbc-cie-localize'
Treehugger Robot [Tue, 20 Sep 2016 20:29:39 +0000 (20:29 +0000)]
Merge changes from topics 'bt-only-pcm-media-feeding-format', 'bt-a2d-sbc-cie-localize'

* changes:
  Use only PCM as the media feeding format
  Localize the usage of tA2D_SBC_CIE only within the SBC codec

7 years agoUse only PCM as the media feeding format
Pavlin Radoslavov [Fri, 16 Sep 2016 00:50:18 +0000 (17:50 -0700)]
Use only PCM as the media feeding format

* Removed field tA2D_AV_MEDIA_FEEDINGS.format, because we always
  use/assume the feeding format is PCM.
* Removed tA2D_AV_MEDIA_FEED_CFG_PCM, tA2D_AV_MEDIA_FEED_CFG,
  tA2D_AV_CODEC_PCM, and tA2D_AV_CODEC_NONE, because they are not
  needed/used anymore.
* Removed feeding mode:
  - tBTIF_MEDIA_INIT_AUDIO_FEEDING.feeding_mode
  - tBTIF_AV_FEEDING_MODE, BTIF_AV_FEEDING_ASYNCHRONOUS,
    BTIF_AV_FEEDING_SYNCHRONOUS
  - tBTIF_MEDIA_CB.feeding_mode
* Added new APIs and the corresponding unit tests:
  - A2D_CodecConfigMatchesCapabilities()
  - A2D_BuildSinkConfig()
  - A2D_CodecEquals()
  - A2D_CodecRequiresReconfig()

Also:
 * Removed header file btif/include/btif_av_api.h because it is not
   needed anymore.
 * Removed functions or typedefs that are unused or replaced:
   - bta_av_co_audio_codec_match() -> replaced by
     A2D_CodecConfigMatchesCapabilities()
   - bta_av_co_audio_codec_cfg_matches_caps()
   - bta_av_co_audio_peer_reset_config()
   - bta_av_co_audio_discard_config()
   - bta_av_co_get_codec_info()
   - bta_av_co_peer_cp_supported()
   - tA2D_AV_CODEC_ID
   - tBTIF_AV_CODEC_INFO
 * Increased the sampling_freq storage from uint16_t to uint32_t
 * Decreased the number of channels n_channels storage from uint16_t
   to uint8_t
 * Removed unneessary global function declarations inside btif_av_co.h
 * Changed the order of the A2D_BuildSrc2SinkConfig() arguments, so
   the order is more intuitive.
 * Misc other cleanup:
   - file bta_av_co.cc: code simplification, renamed snk -> sink,
     Removed unnecessary cast-away of a const argument: bta_av_co_cp_scmst
     Renamed/updated bta_av_co_audio_peer_supports_codec() ->
             bta_av_co_find_peer_sink_supports_codec()
     Renamed/updated bta_av_co_audio_peer_src_supports_codec() ->
             bta_av_co_find_peer_src_supports_codec()

Bug: 30958229
Test: A2DP tested manually. Unit tests included in the CL.
Change-Id: I60981c62b1a88491b5232c4f6515933c4261fac9

7 years agoRemove net_bt_stack group and replace it with bluetooth
Ajay Panicker [Tue, 20 Sep 2016 18:43:03 +0000 (11:43 -0700)]
Remove net_bt_stack group and replace it with bluetooth

Bug: 31549206
Change-Id: I10504d73a962dde583ddb5771cb0a0fe6ca6d580

7 years agotest_vendor: Use kInvalidTaskId in the controller
Jorge E. Moreira [Mon, 19 Sep 2016 22:58:16 +0000 (15:58 -0700)]
test_vendor: Use kInvalidTaskId in the controller

Test: make test-vendor

Change-Id: I6eefd385ecb992f854544ca92c5a8559b6f281f0

7 years agoLocalize the usage of tA2D_SBC_CIE only within the SBC codec
Pavlin Radoslavov [Tue, 13 Sep 2016 22:02:52 +0000 (15:02 -0700)]
Localize the usage of tA2D_SBC_CIE only within the SBC codec

* Added new A2DP API and use it as appropriate
 - A2D_IsValidCodec()
 - A2D_CodecTypeEquals()
 - A2D_GetMinBitpool()
 - A2D_GetMaxBitpool()
* Removed A2D_GetDefaultConfigSbc(), because it is not needed anymore.
* Removed bta_av_co_audio_get_sbc_config() and replaced it
  with code that is not SBC codec-specific:
  bta_av_co_audio_encoder_init() and bta_av_co_audio_encoder_update()
* Removed bta_av_co_get_remote_bitpool_pref() because it is
  not used/needed anymore.
* Moved the following declarations the a2d_sbc.h header file to
  the a2d_sbc.c codec-specific implementation, because they don't need
  to be exposed anymore.
  - struct tA2D_SBC_CIE
  - function A2D_BldSbcInfo()
  - function A2D_ParsSbcInfo()
* Added corresponding unit tests for the new API

Bug: 30958229
Test: A2DP tested manually. Unit tests included in the CL.
Change-Id: Ib242956c303f0ca3c5f70ebc00416a7a45e70228

7 years agoFix gatt_server_old service added logic
Jakub Pawlowski [Mon, 19 Sep 2016 17:38:20 +0000 (10:38 -0700)]
Fix gatt_server_old service added logic

Bug: 31274906
Change-Id: Ifb4ee2a5f1ebcc14e2e1b60caa2fe6536d20946b

7 years agoFix bad address type assumption
Jakub Pawlowski [Fri, 16 Sep 2016 15:03:16 +0000 (08:03 -0700)]
Fix bad address type assumption

LE related code should not use BTM_ACL_IS_CONNECTED, because it assumes
classic transport.

In this particular case, connection created event, which was result of
advertising, caused cancellation of "LE Create Connection".
Attempt to send "LE Create Connection Cancel" was checking if connection
is already established, but was failing to do so becuase
BTM_ACL_IS_CONNECTED was used instead of btm_bda_to_acl with proper
transport. This caused just created connection to be dropped.

Bug: 31442085
Change-Id: Ia345a3d00e8567160f4abb2a31c4130ee69d67a3

7 years agoMerge "Update the style guide"
Treehugger Robot [Thu, 15 Sep 2016 22:09:32 +0000 (22:09 +0000)]
Merge "Update the style guide"

7 years agoAdd .clang-format
Andre Eisenbach [Wed, 14 Sep 2016 21:32:49 +0000 (14:32 -0700)]
Add .clang-format

Change-Id: I3750edd23be239d1b19aa1b7d949cfa3d074cb2f

7 years agoFix NPE in l2cble_notify_le_connection
Jakub Pawlowski [Thu, 15 Sep 2016 15:04:04 +0000 (08:04 -0700)]
Fix NPE in l2cble_notify_le_connection

Accessing p_lcb must be guarded with NULL check.

Bug: 31442085
Change-Id: I0f6e3f8e0247c5e8946c4d098f8a3ba442f5fb28

7 years agoMerge "Add a missing case for BTA_DM_SEARCH_CANCEL_CMPL_EVT"
Treehugger Robot [Thu, 15 Sep 2016 21:41:57 +0000 (21:41 +0000)]
Merge "Add a missing case for BTA_DM_SEARCH_CANCEL_CMPL_EVT"

7 years agoMerge "Add BT_HCI_UNKNOWN_MESSAGE_TYPE log event"
Treehugger Robot [Thu, 15 Sep 2016 20:35:41 +0000 (20:35 +0000)]
Merge "Add BT_HCI_UNKNOWN_MESSAGE_TYPE log event"

7 years agoAdd a missing case for BTA_DM_SEARCH_CANCEL_CMPL_EVT
Jakub Pawlowski [Thu, 15 Sep 2016 15:02:05 +0000 (08:02 -0700)]
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

7 years agoUpdate the style guide
Myles Watson [Thu, 15 Sep 2016 16:19:10 +0000 (09:19 -0700)]
Update the style guide

Add a pointer to the C++ style guide.

Add a HOWTO for those who have outstanding patches that
they'd like to reformat.

Change-Id: Ia749c6498424cfbdf0bb759a1736978f91a34289

7 years agoDon't use move in FOR_EACH_* macro
Jakub Pawlowski [Thu, 15 Sep 2016 11:04:37 +0000 (04:04 -0700)]
Don't use move in FOR_EACH_* macro

FOR_EACH_* macros are resolved to for loop. Using std::move inside it
will cause already moved object to be used when more than one observer
is registered. This patch fixes that.

This issue was already fixed in commit e84c4bd, but was reintroduced in
a641b6fa.

Change-Id: I14b72371d369e4bdcaf3a6e30045bf8a1e8c3e1b

7 years agoAdd BT_HCI_UNKNOWN_MESSAGE_TYPE log event
Pavlin Radoslavov [Wed, 14 Sep 2016 23:39:02 +0000 (16:39 -0700)]
Add BT_HCI_UNKNOWN_MESSAGE_TYPE log event

If the received HCI type is unknown, then log an event and abort.
The most likely reason for that to happen is if the UART stream
is corrupted. We cannot recover from that, and there is not much
else we can do.

Also, fixed a bug in an HCI-related unit test that was exposed
by the above change.

Bug: 31432127
Change-Id: Ia888c485f177af4962268bf8f593b27fd7a4b080

7 years agoMerge "Add security record for devices found through LE batch scan"
Treehugger Robot [Wed, 14 Sep 2016 22:02:25 +0000 (22:02 +0000)]
Merge "Add security record for devices found through LE batch scan"

7 years agoAdd security record for devices found through LE batch scan
Andre Eisenbach [Wed, 14 Sep 2016 19:41:37 +0000 (12:41 -0700)]
Add security record for devices found through LE batch scan

Currently, starting an LE batch scan are not added to the stack internal
device database, which means that the address type and device type
needed for a connection are not available.

This patch ensures that devices found during an LE scan are added to the
device database to ensure connection attempts will succeed.

Bug: 31309376
Change-Id: Ic52d7eaa03d17dcbbd848af9140038bc84ea3bd0

7 years agotest_vendor: Remove unnecessary const from params
Myles Watson [Wed, 14 Sep 2016 18:39:33 +0000 (11:39 -0700)]
test_vendor: Remove unnecessary const from params

Change-Id: I6502e3e78f139722bb887640dcc00ee79f1b0044

7 years agoRemoved unused local variable
Pavlin Radoslavov [Wed, 14 Sep 2016 05:00:53 +0000 (22:00 -0700)]
Removed unused local variable

Change-Id: Iee7a951351448f07c5e4c92d3b034e5a8377cf5f

7 years agoavrc: Fix AVRC_MsgReq() msg_mask bug
Greg Kaiser [Tue, 13 Sep 2016 15:07:04 +0000 (08:07 -0700)]
avrc: Fix AVRC_MsgReq() msg_mask bug

msg_mask is intended to be a bit field.  But by declaring it a
bool, we end up turning all bit values into 1, and losing the
other bit values.  We fix this by properly declaring this as
a uint8_t.

Bug:31273148
Change-Id: Id95e1853ea1ad4fbebc35fdc24708765f1fd9e07

7 years agoA2DP related API update and cleanup
Pavlin Radoslavov [Thu, 8 Sep 2016 18:27:46 +0000 (11:27 -0700)]
A2DP related API update and cleanup

* Added new A2DP API and use it as appropriate
  - A2D_GetTrackFrequency()
  - A2D_GetTrackChannelCount()
  - A2D_GetNumberOfSubbands()
  - A2D_GetNumberOfBlocks()
  - A2D_GetAllocationMethodCode()
  - A2D_GetChannelModeCode()
  - A2D_GetSamplingFrequencyCode()
  - A2D_GetSinkTrackChannelType()
  - A2D_GetSinkFramesCountToProcess()

* Added corresponding unit tests for the new API

Also, A2DP related cleanup:
 - Renamed A2D_sbc_dump_codec_info to A2D_DumpCodecInfoSbc()
 - Changed the order of tA2D_SBC_CIE.min_bitpool and
   tA2D_SBC_CIE.max_bitpool to reflect the order of the corresponding
   fields in the Bluetooth spec (A2DP spec v1.3, page 21).
 - Added new API A2D_GetMediaType() and the corresponding unit test
 - Renamed AVDT_MEDIA_AUDIO to AVDT_MEDIA_TYPE_AUDIO
 - Renamed tA2D_SBC_CIE.alloc_mthd to alloc_method
 - Renamed A2D_BAD_ALLOC_MTHD to A2D_BAD_ALLOC_METHOD
 - Renamed A2D_NS_ALLOC_MTHD to A2D_NS_ALLOC_METHOD
 - Eliminated usage of A2D_MEDIA_TYPE_AUDIO and replace it with
   AVDT_MEDIA_TYPE_AUDIO.
    Now the media_type value everywhere is the AVDT_MEDIA_TYPE_* value
    without the reserved 4 bits (LSBs).
 - Fixed macro defines in file "stack/avdt/avdt_defs.h"

Bug: 30958229
Change-Id: Id82653e9c9460aeb92d942a9179bb5abdb4bfdec

7 years agoFix advertising timers
Jakub Pawlowski [Thu, 8 Sep 2016 11:58:09 +0000 (04:58 -0700)]
Fix advertising timers

Right now, timers that rotate advertising address are started when stack
is starting and keep running all the time even when advertising is not
used. This patch fix that by starting the timer when advertising
instance is registered, and stopping it when it's unregistered.

Bug: 30622771
Change-Id: I638176bdc2f26c62d5ec3a56f6e81cd9c016df0b

7 years agoBluetooth: split setting params and enabling advertising (3/3)
Jakub Pawlowski [Thu, 18 Aug 2016 21:42:54 +0000 (14:42 -0700)]
Bluetooth: split setting params and enabling  advertising (3/3)

Proper order of commands when starting advertising:
* set parameters
* set data
* enable advertising

This cannot be achieved when setting advertising parameters and enabling
advertising is put together in one function. Enabling before setting
data might cause first advertisements to be empty. If a device with
hardware filter pick up such advertisement, it might fail to properly
recognize our device.

Bug: 30622771
Bug: 19372779
Change-Id: I3a2c1171e301ecfd7cbf1cb8b86cfda0e5fc2382

7 years agoMerge "test_vendor: White space fix in vendor manager"
Treehugger Robot [Tue, 13 Sep 2016 03:03:35 +0000 (03:03 +0000)]
Merge "test_vendor: White space fix in vendor manager"

7 years agoMerge "test_vendor: Silence packet_stream.cc"
Treehugger Robot [Tue, 13 Sep 2016 02:53:16 +0000 (02:53 +0000)]
Merge "test_vendor: Silence packet_stream.cc"