OSDN Git Service

android-x86/system-bt.git
7 years agoMerge "Handle L2CAP disconnection on incomplete connection"
Srinu Jella [Fri, 4 Nov 2016 20:04:48 +0000 (20:04 +0000)]
Merge "Handle L2CAP disconnection on incomplete connection"
am: 143d94bdc5

Change-Id: I28fb07082a134b087ecc1a512771f3ef3f5afa23

7 years agoMerge "Handle L2CAP disconnection on incomplete connection"
Treehugger Robot [Fri, 4 Nov 2016 19:59:37 +0000 (19:59 +0000)]
Merge "Handle L2CAP disconnection on incomplete connection"

7 years agoMove HDP reg_counter updates to BTIF thread
Matadeen Mishra [Fri, 4 Nov 2016 19:57:38 +0000 (19:57 +0000)]
Move HDP reg_counter updates to BTIF thread
am: f098d05775

Change-Id: Idd82fefe600af2065844bd7f9fbe83af8e6433fd

7 years agoMove HDP reg_counter updates to BTIF thread
Matadeen Mishra [Wed, 3 Feb 2016 15:11:26 +0000 (20:41 +0530)]
Move HDP reg_counter updates to BTIF thread

Use case: register/unregister HDP from third party APK

Test Steps:

1.Install Any Test APK which internally registers/unregister the HDP.
2.Run Test APK.
3.Do initialization of Test APK which internally registers the HDP.
4.Force stop the Test APK.
5.And rerun the APK by going back test APK menu.
6.Now it never perform the re-register the HDP as part of initialization.

Root Cause: HDP registration related counter write operations are done
in JNI main thread, and it's been referenced in BTIF thread.Sometimes,
if the context switch to BTIF thread doesn't happen immediately after
counter increment/decrement, it may not un-register the app if the
counter becomes 0.

Fix: Fixed it by making all operations related to counter in BTIF
thread, so that de-registration happens for all HDP APPs.

Test: code compilation.

Change-Id: I71ace68a5f3d39d81b646f5f40c02ce56b9e93f0

7 years agoHandle L2CAP disconnection on incomplete connection
Srinu Jella [Wed, 16 Mar 2016 13:08:55 +0000 (18:38 +0530)]
Handle L2CAP disconnection on incomplete connection

- Sometimes before receiving the connection complete
  event from remote device, upper layer might send a
  disconnection on incomplete L2CAP connection, and expects
  notification of connection failure.

- This change notifies disconnection to upper layers with
  error in case L2CAP disconnection is received on
  incomplete L2CAP channel.

Test: code compilation.

Change-Id: I4ab675329b3d791a3f68101495a6e6d90b13bde4

7 years agoAdd OWNERS file
Andre Eisenbach [Fri, 4 Nov 2016 16:34:25 +0000 (16:34 +0000)]
Add OWNERS file
am: 1ee975f50f

Change-Id: Ie2fc1c8116f1713fa2a76860fb7a15740b9b0a8c

7 years agoAdd OWNERS file
Andre Eisenbach [Fri, 4 Nov 2016 16:18:48 +0000 (09:18 -0700)]
Add OWNERS file

Change-Id: Id022d0c98ab3bddc8ceabef148a6c8d1cc4f0bc8

7 years agoMerge "Remove incorrect assert in btm_read_rssi_cb"
Andre Eisenbach [Fri, 4 Nov 2016 01:43:03 +0000 (01:43 +0000)]
Merge "Remove incorrect assert in btm_read_rssi_cb"
am: 4e70834ccc

Change-Id: I5db49042cc7c5a6f6ce8482e32505c91af7952ab

7 years agoMerge "Remove incorrect assert in btm_read_rssi_cb"
Treehugger Robot [Fri, 4 Nov 2016 01:39:27 +0000 (01:39 +0000)]
Merge "Remove incorrect assert in btm_read_rssi_cb"

7 years agoUse standard types instead of OI_INT* and OI_UINT* types
Jakub Pawlowski [Fri, 4 Nov 2016 01:32:34 +0000 (01:32 +0000)]
Use standard types instead of OI_INT* and OI_UINT* types
am: a239d20e95

Change-Id: I4ddb249f0576ca2ede3c26fe8891e13aafa518a4

7 years agoUse standard types instead of OI_INT* and OI_UINT* types
Jakub Pawlowski [Thu, 3 Nov 2016 22:01:28 +0000 (15:01 -0700)]
Use standard types instead of OI_INT* and OI_UINT* types

Test: mma -j45
Change-Id: Ieadd33bfe1be9439e1aeb9a7844260a6e33d8dcd

7 years agoMerge "Replace DWORD with uint32_t"
Jakub Pawlowski [Fri, 4 Nov 2016 00:36:28 +0000 (00:36 +0000)]
Merge "Replace DWORD with uint32_t"
am: 5825613c96

Change-Id: I0040797ea4a4c905e6e5218700b8f06795c881b8

7 years agoUse rc_handle for reconciliation of timer callback
Sanket Agarwal [Fri, 4 Nov 2016 00:33:01 +0000 (00:33 +0000)]
Use rc_handle for reconciliation of timer callback
am: b6ef10149c

Change-Id: I642c4c51190293f47245e3550c6d34b367c35359

7 years agoMerge "Replace DWORD with uint32_t"
Treehugger Robot [Fri, 4 Nov 2016 00:31:49 +0000 (00:31 +0000)]
Merge "Replace DWORD with uint32_t"

7 years agoRemove incorrect assert in btm_read_rssi_cb
Andre Eisenbach [Thu, 3 Nov 2016 22:05:22 +0000 (15:05 -0700)]
Remove incorrect assert in btm_read_rssi_cb

|data| may be NULL if the RSSI request times out.
See btm_read_rssi_timeout implementation for details.

Bug: 32587130
Test: manual
Change-Id: I12ad78ecf5f5859bee7e1536956756bc16d7e54e

7 years agoReplace DWORD with uint32_t
Jakub Pawlowski [Thu, 3 Nov 2016 21:18:55 +0000 (14:18 -0700)]
Replace DWORD with uint32_t

Test: mma -j45
Change-Id: Ia96e87460a22c9c14ba682d07dfcb3bf5479add8

7 years agoUse rc_handle for reconciliation of timer callback
Sanket Agarwal [Wed, 2 Nov 2016 22:01:32 +0000 (15:01 -0700)]
Use rc_handle for reconciliation of timer callback

Since the timer callback requires copy of the passed argument, it is not
a good idea to pass non-constant data. Instead passing handle since
lookup based on the handle is safe against possible corruption.

Bug: b/32610667
Change-Id: I02270b0f52d79310e2db8cf218f624eeb674b9c8

7 years agoCheck A2DP source is not already shut{ting} down
Sanket Agarwal [Wed, 2 Nov 2016 21:13:30 +0000 (21:13 +0000)]
Check A2DP source is not already shut{ting} down
am: f436d2f131

Change-Id: I88a62d05c77486ac89fbe441dbee7763250b2b01

7 years agoCheck A2DP source is not already shut{ting} down
Sanket Agarwal [Wed, 2 Nov 2016 18:56:44 +0000 (11:56 -0700)]
Check A2DP source is not already shut{ting} down

In case A2DP is not enabled we are still executing the shut down path
which is leading to a race condition and posting to a thread queue which
is never created.

Bug: b/32610895
Change-Id: Id0cf95f4c7b5be26be28db5e837fbca3a0a87072

7 years agoA2DP codec related fixes and cleanup
Pavlin Radoslavov [Wed, 2 Nov 2016 18:01:00 +0000 (18:01 +0000)]
A2DP codec related fixes and cleanup
am: feee26c3da

Change-Id: Ia923fad9dee9043df32bcc4be834ce9561958cc0

7 years agoA2DP codec related fixes and cleanup
Pavlin Radoslavov [Tue, 25 Oct 2016 17:17:56 +0000 (10:17 -0700)]
A2DP codec related fixes and cleanup

* Update bta_av_co_audio_getconfig() to select the preferred codec
* Fix a bug in selecting the A2DP codec inside
  bta_av_co_audio_set_codec()
* No need for function A2DP_ParsSbcMplHdr() to be exposed in the API
* Generalize the following APIs, so they can be used to redirect
  the call for vendor-specific codecs:
  - A2DP_CodecSepIndexStr()
  - A2DP_InitCodecConfig()
  - A2DP_SetSourceCodec()
* Change tA2DP_ENCODER_INIT_PARAMS.SamplingFreq from uint16_t to
  uint32_t so it can store larger sampling frequency.
* Rename content protection constants from BTA_AV_CP_*
  to AVDT_CP_* and move them from bta_av_co.h to avdt_api.h
* Rename some of the internal functions in a2dp_sbc.cc
* Add extra debug logging and fix some comments

Test: A2DP streaming, unit tests passing
Change-Id: I1b67ff18dc568dd859429fcd89c644799fb1438d

7 years agoMerge "Remove unused BLE_PERIPHERAL_MODE_SUPPORT"
Jakub Pawlowski [Wed, 2 Nov 2016 03:25:12 +0000 (03:25 +0000)]
Merge "Remove unused BLE_PERIPHERAL_MODE_SUPPORT"
am: 9203cb05b5

Change-Id: I71251811ef21cd26561df0b025825fafc5ccb256

7 years agoMerge "Remove unused BLE_PERIPHERAL_MODE_SUPPORT"
Jakub Pawlowski [Wed, 2 Nov 2016 03:21:38 +0000 (03:21 +0000)]
Merge "Remove unused BLE_PERIPHERAL_MODE_SUPPORT"

7 years agoAG: CLCC response can contain non-ATD characters
Satish Kodishala [Wed, 2 Nov 2016 02:33:39 +0000 (02:33 +0000)]
AG: CLCC response can contain non-ATD characters
am: c75a71d9b6

Change-Id: I600982c46cdbdcbb26332e0498ce206bb46b5c92

7 years agoAG: CLCC response can contain non-ATD characters
Satish Kodishala [Wed, 22 Jun 2016 08:52:41 +0000 (14:22 +0530)]
AG: CLCC response can contain non-ATD characters

Test case:
1. Connect Plantronics backbeat PRO headset.
2. Initiate outgoing call from phone.
3. Accept the call from remote side and terminate call.
4. Try to redial from headset and observe

Failure:
AG is sending error for redial request from BT headset.

Root cause:
Sometimes, the number in CLCC response has "-".
Repeated from the headset, the ATD string has "-"
which is not allowed in the dial string for ATD and
errors.

Fix:
 * Sanitize CLCC response to only include valid ATD characters.
 * Accept "-" in ATD because it works for us.

Change-Id: I854165c7da295f428852c829543eb4fc18455d91

7 years agoMerge "Move start advertise method to advertising interface (3/3)"
Jakub Pawlowski [Tue, 1 Nov 2016 22:34:32 +0000 (22:34 +0000)]
Merge "Move start advertise method to advertising interface (3/3)"
am: 3d20eb86d9

Change-Id: I39995983cee5d2351c9c56b8eafa4692e5fb1e83

7 years agoRemove unused BLE_PERIPHERAL_MODE_SUPPORT
Jakub Pawlowski [Tue, 1 Nov 2016 20:43:03 +0000 (13:43 -0700)]
Remove unused BLE_PERIPHERAL_MODE_SUPPORT

This patch removes BLE_PERIPHERAL_MODE_SUPPORT and all code related to
it, which is unused.

Bug: 30622771
Bug: 24099160
Change-Id: Ic9cc2a94c8d1b974814d453ee8a0073e7d6deb85

7 years agoMerge "Move start advertise method to advertising interface (3/3)"
Jakub Pawlowski [Tue, 1 Nov 2016 22:30:42 +0000 (22:30 +0000)]
Merge "Move start advertise method to advertising interface (3/3)"

7 years agoMerge "Assign pairing code to bta_dm_cb before device name resolution"
Jack He [Tue, 1 Nov 2016 21:45:21 +0000 (21:45 +0000)]
Merge "Assign pairing code to bta_dm_cb before device name resolution"
am: f29df4f5b9

Change-Id: I66afee204c54a076e525425900866df9ed5afdd6

7 years agoMerge "Assign pairing code to bta_dm_cb before device name resolution"
Treehugger Robot [Tue, 1 Nov 2016 21:40:44 +0000 (21:40 +0000)]
Merge "Assign pairing code to bta_dm_cb before device name resolution"

7 years agoMove start advertise method to advertising interface (3/3)
Jakub Pawlowski [Mon, 31 Oct 2016 18:15:20 +0000 (11:15 -0700)]
Move start advertise method to advertising interface (3/3)

Advertising related code should be exposed through
BleAdvertiserInterface. Move client.listen function into this interface.
Remove reduntant clientif parameter.

Bug: 30622771
Bug: 24099160
Test: no tests necessary
Change-Id: Icc865c062e3d7c4b83bbeea6ff5b08bd2c1c4d9a

7 years agoMerge "Simplify BTA_GATTC_Listen"
Jakub Pawlowski [Tue, 1 Nov 2016 20:56:48 +0000 (20:56 +0000)]
Merge "Simplify BTA_GATTC_Listen"
am: 96b55604b2

Change-Id: I9a22d0b834ced49e9a20b3f569a83edcb519aaee

7 years agoMerge "Simplify BTA_GATTC_Listen"
Treehugger Robot [Tue, 1 Nov 2016 20:53:13 +0000 (20:53 +0000)]
Merge "Simplify BTA_GATTC_Listen"

7 years agoAssign pairing code to bta_dm_cb before device name resolution
Jack He [Tue, 1 Nov 2016 18:30:51 +0000 (11:30 -0700)]
Assign pairing code to bta_dm_cb before device name resolution

Device name resolution, BTM_ReadRemoteDeviceName(), will cause
bta_dm_sp_cback() to exit early and bta_dm_pinname_cback() callback
will be invoked after the resolution, which continues the pairing
with pairing code from bta_dm_cb.num_val. Hence, bta_dm_cb.num_val
needs to be assigned before BTM_ReadRemoteDeviceName() is called.

Test: manual
Bug: 31381715
Change-Id: I61f06a9d878dd72154d6621eb094dcea5f701cbc

7 years agoAVRCP CT: Add get_play_status_cmd API
Sanket Agarwal [Tue, 1 Nov 2016 20:03:22 +0000 (20:03 +0000)]
AVRCP CT: Add get_play_status_cmd API
am: 5211827c4c

Change-Id: I03d894ed50178c427178c3d38df19c6b43c54371

7 years agoAVRCP CT: Add get_play_status_cmd API
Sanket Agarwal [Thu, 22 Sep 2016 21:11:09 +0000 (14:11 -0700)]
AVRCP CT: Add get_play_status_cmd API

- Required for PTS test case TC_CT_MDI_BV_01_C

Bug: b/31684931
Change-Id: Ice0bd36e3282d1c543c8c7bbec63f406311c0f6b
(cherry picked from commit 9a55fbe77cd9c6acb56e2e24cccfb9f34a89c729)

7 years agoSimplify BTA_GATTC_Listen
Jakub Pawlowski [Mon, 31 Oct 2016 16:50:20 +0000 (09:50 -0700)]
Simplify BTA_GATTC_Listen

It is necessary to make BTA_GATTC_Listen not dependent on client_if
before it is moved to advertising interface, where it belongs.

Bug: 30622771
Bug: 24099160
Test: no tests necessary
Change-Id: I75dc7e0fcd64fd3437474933069941b52740f0b5

7 years agoMerge "Make bta_gattc_listen only start listening"
Jakub Pawlowski [Tue, 1 Nov 2016 19:09:12 +0000 (19:09 +0000)]
Merge "Make bta_gattc_listen only start listening"
am: bb7dad91de

Change-Id: Iaded544d6f364f5f516d1a6ad3d74d15927cbb3a

7 years agoMerge "Make bta_gattc_listen only start listening"
Treehugger Robot [Tue, 1 Nov 2016 19:04:07 +0000 (19:04 +0000)]
Merge "Make bta_gattc_listen only start listening"

7 years agoImplement AVRCP SetAddressedPlayer Cmd
Sanket Agarwal [Tue, 1 Nov 2016 17:28:19 +0000 (17:28 +0000)]
Implement AVRCP SetAddressedPlayer Cmd
am: 30c81fa853

Change-Id: I410f22423dd3cd0cb42dae4e5313344c07250efa

7 years agoMake bta_gattc_listen only start listening
Jakub Pawlowski [Fri, 28 Oct 2016 23:44:49 +0000 (16:44 -0700)]
Make bta_gattc_listen only start listening

The bta_gattc_listen method is used only to start advertising on devices
not using Vendor-Specific Callbacks. It should not notify the client
calling it of all connected devices.

It is also unnecessary to add the gatt client as listening for background
connections. No such thing is done for multi advertising.

Bug: 30622771
Bug: 24099160
Test: code is still compiling
Change-Id: Ia11a247b8416f77543087cd3f18331fcfe7bd207

7 years agoImplement AVRCP SetAddressedPlayer Cmd
Sanket Agarwal [Fri, 16 Sep 2016 22:41:18 +0000 (15:41 -0700)]
Implement AVRCP SetAddressedPlayer Cmd

Bug: b/31554234
Change-Id: I700bc1dc65f9c8c7d1e5e57c568487a53ae9fbf7
(cherry picked from commit 53ffd333c7e6db731a8db2e742dcd29d4416270c)

7 years agoConvert one remaining use of full protobuf runtime
Colin Cross [Tue, 1 Nov 2016 12:27:49 +0000 (12:27 +0000)]
Convert one remaining use of full protobuf runtime
am: 2d97ffe3f3

Change-Id: I00dab3a00dc630e4f40e924f8f179ed0049edaba

7 years agoConvert one remaining use of full protobuf runtime
Colin Cross [Thu, 27 Oct 2016 20:37:40 +0000 (13:37 -0700)]
Convert one remaining use of full protobuf runtime

I missed one use of the full protobuf runtime, replace it with
libprotobuf-cpp-lite.

Test: builds
Bug: 32417805
Change-Id: Idc5d458dbd5844801e5a2cc6df69720d4e839c55

7 years agoMerge "Fix AdvertiseDataParsing test"
root [Tue, 1 Nov 2016 01:53:33 +0000 (01:53 +0000)]
Merge "Fix AdvertiseDataParsing test"
am: 6f9710e6cd

Change-Id: Ib31f2c942a47a95fe2a4a8ca0ad88b1659c2b87e

7 years agoMerge "Fix AdvertiseDataParsing test"
Treehugger Robot [Tue, 1 Nov 2016 01:43:29 +0000 (01:43 +0000)]
Merge "Fix AdvertiseDataParsing test"

7 years ago[AVRCP1.6 CT] Add reply status to get_folder_items_callback.
Sanket Agarwal [Tue, 1 Nov 2016 00:46:28 +0000 (00:46 +0000)]
[AVRCP1.6 CT] Add reply status to get_folder_items_callback.
am: 8a81119351

Change-Id: I36cf971bd41103a948470e042a313eb80ba8550a

7 years agoAVRCP_CTRL: Broadcast 1.6 with browsing support
AnubhavGupta [Tue, 1 Nov 2016 00:46:26 +0000 (00:46 +0000)]
AVRCP_CTRL: Broadcast 1.6 with browsing support
am: 0bd5b0ad1a

Change-Id: I37f08580a3c5cc0b5199d85b657cef0a31b0d29a

7 years ago[AVRCP1.6 CT] Add reply status to get_folder_items_callback.
Sanket Agarwal [Mon, 29 Aug 2016 17:28:03 +0000 (10:28 -0700)]
[AVRCP1.6 CT] Add reply status to get_folder_items_callback.

It is useful to know what error code the get_folder_items_cmd gets back
with since it can help the UI decide if to keep fetching more. For ex.
if the return code is out of range then the UI does not need to keep
fetching anymore. This is useful for folders where we do not know the
size before hand (Media Player List or Now Playing List).

Bug: b/31253501

Change-Id: I0f43167d00bcf2e1e320be086fd9cacd163906a1
(cherry picked from commit e3a032a89ac2f20e96808fe2bded2c42fa3afb14)

7 years agoAVRCP_CTRL: Broadcast 1.6 with browsing support
AnubhavGupta [Wed, 24 Aug 2016 09:06:23 +0000 (14:36 +0530)]
AVRCP_CTRL: Broadcast 1.6 with browsing support

 - enable browsing bit for SDP record and bump the profile version

Bug: b/28791287

Change-Id: I0572b84d36a52c5f027196022f342057c607b93b

7 years agoMerge "hci: Fix multi-line comments after clang-format"
Myles Watson [Mon, 31 Oct 2016 23:11:48 +0000 (23:11 +0000)]
Merge "hci: Fix multi-line comments after clang-format"
am: 42bff25876

Change-Id: Ie455991f80cc0e5ad4f484ba06740bb0c7bf99e9

7 years agoMerge "hci: Fix multi-line comments after clang-format"
Treehugger Robot [Mon, 31 Oct 2016 23:02:56 +0000 (23:02 +0000)]
Merge "hci: Fix multi-line comments after clang-format"

7 years agoMerge "test: Add a README file"
Myles Watson [Mon, 31 Oct 2016 21:20:01 +0000 (21:20 +0000)]
Merge "test: Add a README file"
am: 975178d90e

Change-Id: I9975e726bbe65702ec4dd12ddca367ab7da3a421

7 years agohci: Apply clang-format
Myles Watson [Mon, 31 Oct 2016 21:19:47 +0000 (21:19 +0000)]
hci: Apply clang-format
am: 5ff20a2366

Change-Id: I3dadec14f5df2159d1d2d9944b005cbf2047940a

7 years agoMerge "test: Add a README file"
Treehugger Robot [Mon, 31 Oct 2016 21:10:40 +0000 (21:10 +0000)]
Merge "test: Add a README file"

7 years agohci: Fix multi-line comments after clang-format
Myles Watson [Mon, 31 Oct 2016 20:50:51 +0000 (13:50 -0700)]
hci: Fix multi-line comments after clang-format

Test: mma -j32
Change-Id: I041856c2a9f17948650387dd9c952365bcca033d

7 years agohci: Apply clang-format
Myles Watson [Mon, 31 Oct 2016 17:53:52 +0000 (10:53 -0700)]
hci: Apply clang-format

Remove double asterisks:
  cd hci/
  find . | grep "\.cc\|\.h\|\.c" | \
     xargs -I REPLACE sed 's/^[*][*]/ \*/' -i REPLACE

Run clang-format:
  find . | grep "\.cc\|\.h\|\.c" | xargs -I REPLACE \
     clang-format --style=file -i REPLACE

Test: mma -j32
Change-Id: Ie74244127c8a264dd087d199155274d4655ccf65

7 years agoFix AdvertiseDataParsing test
root [Mon, 31 Oct 2016 20:37:33 +0000 (13:37 -0700)]
Fix AdvertiseDataParsing test

Test: run LowEnergyAdvertiserPostRegisterTest.AdvertiseDataParsing
Change-Id: Ib9f4dbc1079ae289cc5eeaee9ca7050d308a4ab0

7 years agobt address memory copy error in btif_av_state_opening_handler()
Ting Zheng [Mon, 31 Oct 2016 18:04:29 +0000 (18:04 +0000)]
bt address memory copy error in btif_av_state_opening_handler()
am: 98397944b8

Change-Id: Ic498d4c573c4733cd9310c1038f5589f2fa09def

7 years agobt address memory copy error in btif_av_state_opening_handler()
Ting Zheng [Tue, 19 Jul 2016 22:29:19 +0000 (15:29 -0700)]
bt address memory copy error in btif_av_state_opening_handler()

[Problem]
In btif_av_state_opening_handler() BTIF_AV_CONNECT_REQ_EVT
handling, it reported the wrong bt address. It happened when remote speaker
connected back and local also tried to initiate the connection almost at the
same time, so that A2dpStateMachine recognized mTargetDevice and mIncomingDevice
as two different deivices. When it was final connected, A2dpStateMachine ignored
the connected event as "ERROR: current, target, or mIncomingDevice not null in
Disconnected".

[Solution]
Modify (bt_bdaddr_t*)p_data to ((btif_av_connect_req_t *)p_data)->target_bda in
btif_av_state_opening_handler() BTIF_AV_CONNECT_REQ_EVT handling. In previous
design, it would copy the address of target_bda and uuid in
btif_av_connect_req_t rather than the real address pointed by target_bda.

Change-Id: Icbc5150016d6f75aa314b5d9e152a2de74f0cfbe
Signed-off-by: Ting Zheng <ting.zheng@mediatek.com>
7 years agoRemove position dependent lookup tables in AT command parser
Andre Eisenbach [Mon, 31 Oct 2016 17:52:41 +0000 (17:52 +0000)]
Remove position dependent lookup tables in AT command parser
am: b7fa415540

Change-Id: I38bcdbec9a854700d6920b8598dfa67202ba657f

7 years agoRemove position dependent lookup tables in AT command parser
Andre Eisenbach [Sat, 23 Jul 2016 06:15:11 +0000 (23:15 -0700)]
Remove position dependent lookup tables in AT command parser

The various position dependent lookup tables in the AT command parser
were out of sync, causing invalid responses to the AT+CBPS command for
example.

This patch gets rid of positionally dependent enums for simple lookup
tables that correlate all the values for easier, less error prone
maintenance of the related tables.

This re-instates a previously reverted patch after fixing incorrect
field order in tBTA_AG_INDICATOR_MAP.

Change-Id: I7f8a052e78706c8c72c5102b38cfe9ce200ae0d9
Fixes: 29978908
(cherry picked from commit b5cc24fcdaeb32f1f44bc39b65f6b0c035e47d5f)

7 years agoMerge "Remove advertise whitelist functionality"
Jakub Pawlowski [Sat, 29 Oct 2016 00:34:50 +0000 (00:34 +0000)]
Merge "Remove advertise whitelist functionality"
am: 4584c3ae8a

Change-Id: I8e6dbdcef503156fc2c5f3963fa50a7debab5a9f

7 years agoMerge "Remove advertise whitelist functionality"
Jakub Pawlowski [Sat, 29 Oct 2016 00:29:49 +0000 (00:29 +0000)]
Merge "Remove advertise whitelist functionality"

7 years agoMerge "Exclude calls to android-specific code in generic build"
Jakub Pawlowski [Fri, 28 Oct 2016 23:16:15 +0000 (23:16 +0000)]
Merge "Exclude calls to android-specific code in generic build"
am: 89e452beec

Change-Id: I96709865bd7cfd09c775a70c30420f838f84e045

7 years agoMerge "Exclude calls to android-specific code in generic build"
Jakub Pawlowski [Fri, 28 Oct 2016 23:08:54 +0000 (23:08 +0000)]
Merge "Exclude calls to android-specific code in generic build"

7 years agoRemove advertise whitelist functionality
Jakub Pawlowski [Fri, 28 Oct 2016 22:23:08 +0000 (15:23 -0700)]
Remove advertise whitelist functionality

Advertise filtering is never used. It is not finished - adding device to
whitelist can never succed. It is also making advertising API unification
hard.

Bug: 30622771
Test: no tests necessary
Change-Id: I9df9ea18b265a580c2fcdb28a6d6ce4be43f0a24

7 years agoMerge "Enable AVRCP TG feature only when we can handle those commands"
Anubhav Gupta [Fri, 28 Oct 2016 21:31:08 +0000 (21:31 +0000)]
Merge "Enable AVRCP TG feature only when we can handle those commands"
am: f4f4a6e413

Change-Id: Ib07f7a76cf57772acc260c9e73a2b841d36c61ee

7 years agoMerge "Enable AVRCP TG feature only when we can handle those commands"
Treehugger Robot [Fri, 28 Oct 2016 21:24:46 +0000 (21:24 +0000)]
Merge "Enable AVRCP TG feature only when we can handle those commands"

7 years agoMerge "Report FW configuration status to upper layer"
Lakshmipathi K [Fri, 28 Oct 2016 21:00:21 +0000 (21:00 +0000)]
Merge "Report FW configuration  status to upper layer"
am: ed230620cf

Change-Id: Ia00b3603851cbd3d69ea898bf020cfd91e1d99ae

7 years agoMerge "Report FW configuration status to upper layer"
Treehugger Robot [Fri, 28 Oct 2016 20:50:42 +0000 (20:50 +0000)]
Merge "Report FW configuration  status to upper layer"

7 years agoMerge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
Jakub Pawlowski [Fri, 28 Oct 2016 20:49:48 +0000 (20:49 +0000)]
Merge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
am: 585b44078c

Change-Id: I82ddf0df2668e3ea9e55eeb8c76dfd5d5b6532ec

7 years agoMerge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
Treehugger Robot [Fri, 28 Oct 2016 20:45:08 +0000 (20:45 +0000)]
Merge "Separate LE scanner and GATT client BTIF interfaces (3/3)"

7 years agoMerge "Separated initialize and re-initialize of DM control block"
Srinu Jella [Fri, 28 Oct 2016 19:23:00 +0000 (19:23 +0000)]
Merge "Separated initialize and re-initialize of DM control block"
am: 646b81851c

Change-Id: I1164f39daf8779497b60f78f763dc24031dc8ffb

7 years agoMerge "Separated initialize and re-initialize of DM control block"
Treehugger Robot [Fri, 28 Oct 2016 19:14:38 +0000 (19:14 +0000)]
Merge "Separated initialize and re-initialize of DM control block"

7 years agoReport FW configuration status to upper layer
Lakshmipathi K [Mon, 18 Jul 2016 09:26:10 +0000 (14:56 +0530)]
Report FW configuration  status to upper layer

Report Firware configuration if success or failure from vendor library
to the upper layers to take necessary actions to proceed with Stack
initialization or not.

Test: mm -j 8
Change-Id: I56e4749b0eb995eb484a6f56a8e1c684678a02f4
Signed-off-by: Lakshmipathi K <lakshmipathi.k@intel.com>
7 years agoEnable AVRCP TG feature only when we can handle those commands
Anubhav Gupta [Tue, 5 May 2015 12:18:24 +0000 (17:48 +0530)]
Enable AVRCP TG feature only when we can handle those commands

  - Disable Control, Meta and Browse commands when TG is not up.

Change-Id: Ib54c104e87c735b55d6c6ec07c08d2149acc1a6d

7 years agoSeparate LE scanner and GATT client BTIF interfaces (3/3)
Jakub Pawlowski [Thu, 27 Oct 2016 18:49:40 +0000 (11:49 -0700)]
Separate LE scanner and GATT client BTIF interfaces (3/3)

In order to properly separate low level structures associated with LE
scanner and GATT client, their interfaces must be separated first.

Test: sl4a BleScanApiTest
Bug: 30622771
Change-Id: If804632c8e4b08fd15d5b847c7838822cf98d79f

7 years agoImprove HOGP input report error handling
Lawrance Liu [Fri, 28 Oct 2016 18:04:25 +0000 (18:04 +0000)]
Improve HOGP input report error handling
am: 9e6f5ad992

Change-Id: I981131309ce1b1bcd4eb82fc4d7d4c45553bc612

7 years agoImprove HOGP input report error handling
Lawrance Liu [Tue, 4 Oct 2016 08:09:15 +0000 (16:09 +0800)]
Improve HOGP input report error handling

This fixes com.android.bluetooth crash when receiving HOGP input report
for unknown characteristic.

Test: Pair/Unpair BLE mouse/keyboard devices.

7 years agoSeparated initialize and re-initialize of DM control block
Srinu Jella [Wed, 8 Jun 2016 12:01:41 +0000 (17:31 +0530)]
Separated initialize and re-initialize of DM control block

Use Case: Turning ON Bluetooth failed after network reset

Steps:
1. Turn ON Bluetooth
2. Go to settings->backup and restore->network reset.
3. Do reset to reset BT, WIFI, data.
4. Go back to Bluetooth settings menu and try to turn ON Bluetooth.

Failure: Bluetooth is not turning ON after network reset

Root Cause: In case BTA_SYS_HW_OFF_EVT event, alarm_new is getting called.
Which is causing issue in Next Turn ON of Bluetooth if PID is same.

Fix: Separated initialize and re-initialize of DM control block

Test: code compilation.

Change-Id: I09abfb22c67f04626564a7791e4b61ec3a523cc1

7 years agoSeparate LE scanner from GATT client (4/4)
Jakub Pawlowski [Fri, 28 Oct 2016 02:49:33 +0000 (02:49 +0000)]
Separate LE scanner from GATT client (4/4)
am: f3246f1c56

Change-Id: Iefb0e6c4df0865236584c3bcfce94604569a160a

7 years agotest: Add a README file
Myles Watson [Fri, 28 Oct 2016 00:20:02 +0000 (17:20 -0700)]
test: Add a README file

Test: Open README.md in a markdown viewer

Change-Id: I54342dee00bdffa4195bb9c160b12ff950e6c77b

7 years agoSeparate LE scanner from GATT client (4/4)
Jakub Pawlowski [Wed, 26 Oct 2016 22:31:24 +0000 (15:31 -0700)]
Separate LE scanner from GATT client (4/4)

Right now, LE scanning functionality is combined with the GATT client.
This is the source of various bugs, like scans suddenly stoppinging when
a GATT client is killed. It also increases memory consumption, because
we associate many structures with a GATT client, which are not necessary
when just scanning.

Test: sl4a BleScanApiTest ConcurrentBleScanTest
Bug: 30622771
Change-Id: I23b71255c459b185257654f68ea251b41ed2a14b

7 years agoRemove deprecated UNUSED macro (5/5)
Myles Watson [Thu, 27 Oct 2016 22:17:28 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (5/5)
am: d7ffd64acc

Change-Id: I070e381cb2e3934a67303fa7895cc8f9359cbe9a

7 years agoRemove deprecated UNUSED macro (4/5)
Myles Watson [Thu, 27 Oct 2016 22:17:26 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (4/5)
am: 64c3f22eb0

Change-Id: I01bb96846ba66afac6dc4089e63b418132327286

7 years agoRemove deprecated UNUSED macro (3/5)
Myles Watson [Thu, 27 Oct 2016 22:17:24 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (3/5)
am: d628a0695e

Change-Id: I2ca170f67548715b6c0a46b13e410329bc098657

7 years agoRemove deprecated UNUSED macro (2/5)
Myles Watson [Thu, 27 Oct 2016 22:17:21 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (2/5)
am: b96d349b2a

Change-Id: If58996af9e4e4da611d8ac6fabec3b4b35760e6c

7 years agoRemove deprecated UNUSED macro (1/5)
Myles Watson [Thu, 27 Oct 2016 22:17:18 +0000 (22:17 +0000)]
Remove deprecated UNUSED macro (1/5)
am: d35a648d39

Change-Id: I9253c3eed4cdeda75621aaa38ec87e4d8da5f9e9

7 years agoRemove deprecated UNUSED macro (5/5)
Myles Watson [Thu, 27 Oct 2016 17:27:36 +0000 (10:27 -0700)]
Remove deprecated UNUSED macro (5/5)

Include osi.h for UNUSED_ATTR.

Test: mma -j32

Change-Id: I43260669dc1f54639e46cc9620093d727ee86276

7 years agoRemove deprecated UNUSED macro (4/5)
Myles Watson [Thu, 27 Oct 2016 17:03:08 +0000 (10:03 -0700)]
Remove deprecated UNUSED macro (4/5)

These variables are the unused results of parsing macros.

Test: mma -j32

Change-Id: Id377b8280d8fb7cf1e4a366d8ac10bdb5a09361c

7 years agoRemove deprecated UNUSED macro (3/5)
Myles Watson [Thu, 27 Oct 2016 17:02:37 +0000 (10:02 -0700)]
Remove deprecated UNUSED macro (3/5)

These were caused by ifdefs, so they had to be
done by hand.

TEST: mma -j32

Change-Id: I183f3ee82e8744fed2b65dc96dc492b5bf079243

7 years agoRemove deprecated UNUSED macro (2/5)
Myles Watson [Thu, 27 Oct 2016 17:01:49 +0000 (10:01 -0700)]
Remove deprecated UNUSED macro (2/5)

These had to be added by hand.

Test: mma -j32

Change-Id: I0ea126a404fbaa27f2137bc197ee0f48cf87ac28

7 years agoRemove deprecated UNUSED macro (1/5)
Myles Watson [Thu, 27 Oct 2016 15:52:16 +0000 (08:52 -0700)]
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

7 years agoReplace bluetooth protos with protobuf-lite
Colin Cross [Wed, 26 Oct 2016 23:27:31 +0000 (23:27 +0000)]
Replace bluetooth protos with protobuf-lite
am: 9a24711fd2

Change-Id: I5a51b7d05054b5457e9ad9c5827128d1f4c377da

7 years agoReplace bluetooth protos with protobuf-lite
Colin Cross [Wed, 26 Oct 2016 21:25:28 +0000 (14:25 -0700)]
Replace bluetooth protos with protobuf-lite

Use lite protobufs for bluetooth to remove dependency on
libprotobuf-cpp-full, which will be removed from the platform.

Requires dropping support for
adb shell dumpsys bluetooth_manager --proto-text
which requires full protobufs to call TextToString.  The functionality
can be restored without adding a dependency on full protobufs with a
host protobuf decoder.

Bug: 32417805
Test: builds
Change-Id: Ifc9ee23264b1bfff3ad1f85ef4914f788028971a

7 years agoSimplify SBC encoder API
Jakub Pawlowski [Wed, 26 Oct 2016 19:04:21 +0000 (19:04 +0000)]
Simplify SBC encoder API
am: 26f21028e2

Change-Id: I7c6ed7052c11f1ebe30c973c216cfd83be805c87

7 years agoExclude calls to android-specific code in generic build
Jakub Pawlowski [Tue, 25 Oct 2016 21:05:21 +0000 (14:05 -0700)]
Exclude calls to android-specific code in generic build

Currently there is no AVRCP implementation for non-android.

Test: build with ninja
Change-Id: I2ed1506923d4dc245a13168e881ed685b3385d19

7 years agoSimplify SBC encoder API
Jakub Pawlowski [Tue, 25 Oct 2016 21:28:39 +0000 (14:28 -0700)]
Simplify SBC encoder API

Currently it is unclear what the input, output, and configuration of
the SBC codec are. This patch refactors the use of the SBC_Encoder
function. Parameters for input and output are added, instead of passing
them in alongside the configuration.

Test: Tested A2DP playback
Change-Id: I755a022983f823475c14815cc0610f90a5fbc813

7 years agoMerge "Change how Advertise Data is passed to BTIF (2/3)"
Jakub Pawlowski [Wed, 26 Oct 2016 00:15:17 +0000 (00:15 +0000)]
Merge "Change how Advertise Data is passed to BTIF (2/3)"
am: f46a405cfa

Change-Id: I80f1930d7ea0262ae425296263261586b567c7a2