OSDN Git Service
Treehugger Robot [Mon, 7 Nov 2016 22:17:54 +0000 (22:17 +0000)]
Merge "AVRCP: Passthrough code cleanup"
Marie Janssen [Fri, 4 Nov 2016 19:36:14 +0000 (12:36 -0700)]
AVRCP: Passthrough code cleanup
Simplify the code surrounding passthrough commands and responses since
we send them all up to the upper layer now.
Test: basic AVRCP control from a carkit
Change-Id: I1d1e22454471a9948df6602b34ae767d7091197c
Andre Eisenbach [Sat, 5 Nov 2016 00:43:17 +0000 (17:43 -0700)]
Mask out HFP 1.7 feature bits if peer version is <1.7
Bug:
32378402
Test: manual
Change-Id: Iac8684bdfd02b18cce260bedefb829e8f7285361
Marco Nelissen [Thu, 3 Nov 2016 17:34:08 +0000 (10:34 -0700)]
Use libaudioclient instead of libmedia
Test: build/boot
Change-Id: I8aa5cb6c5351d04daf7117cf8bb983da50d4b089
(cherry picked from commit
af8b51c4061a5d0c18841195dfa1f4deaf9179b5)
Treehugger Robot [Fri, 4 Nov 2016 21:22:39 +0000 (21:22 +0000)]
Merge "Enable AVRCP Volume commands in TG role"
Treehugger Robot [Fri, 4 Nov 2016 21:11:34 +0000 (21:11 +0000)]
Merge "Add missing brackets for "if" statement inside BTM_ConfirmReqReply()"
Ayan Ghosh [Fri, 6 Dec 2013 11:41:11 +0000 (17:11 +0530)]
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
Treehugger Robot [Fri, 4 Nov 2016 20:35:26 +0000 (20:35 +0000)]
Merge "Replace pthread_mutex with std::mutex"
Treehugger Robot [Fri, 4 Nov 2016 20:26:04 +0000 (20:26 +0000)]
Merge "Enable incoming connection for AVRCP Controller"
Treehugger Robot [Fri, 4 Nov 2016 19:59:37 +0000 (19:59 +0000)]
Merge "Handle L2CAP disconnection on incomplete connection"
Arun Jagadish [Wed, 18 May 2016 10:34:20 +0000 (16:04 +0530)]
Enable AVRCP Volume commands in TG role
Enables the bits for AVRCP Vol UP, VOL Down and
Mute based on ICS document.
Change-Id: I50cdd97812b260812edf4d005c4dd95177d53426
Signed-off-by: Arun Jagadish <arun.jagadish@intel.com>
Jack He [Fri, 4 Nov 2016 18:18:32 +0000 (11:18 -0700)]
Add missing brackets for "if" statement inside BTM_ConfirmReqReply()
This fixes a potential NULL-pointer reference crash in case
btm_find_dev() returns NULL.
Test: mm -j 8
Change-Id: Ic154b872ca84b4e9e8bc57803a4d9ee7c1665204
Anubhav Gupta [Tue, 5 May 2015 14:54:47 +0000 (20:24 +0530)]
Enable incoming connection for AVRCP Controller
- Start listening for incoming AVRCP connection if we have
only AVRCP Controller
- Update default peer_features based on feature mask. In case
of incoming AVRCP connection, SDP will be done later.
In such a scenario default peer features sent to btif should
be based on features-set selected during initialization.
Test: code compilation
Change-Id: Ied8ac0673288a4423bd41500985366ddc2c567a8
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
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
Marie Janssen [Thu, 3 Nov 2016 01:31:55 +0000 (18:31 -0700)]
Replace pthread_mutex with std::mutex
In an effort to simplify and reduce errors, replace pthread_mutexes
with std equivalents.
Test: run unit tests & manual sanity checks
Change-Id: Ia6492b0007dca311ebd1579f52b206993b7535fd
Andre Eisenbach [Fri, 4 Nov 2016 16:18:48 +0000 (09:18 -0700)]
Add OWNERS file
Change-Id: Id022d0c98ab3bddc8ceabef148a6c8d1cc4f0bc8
Treehugger Robot [Fri, 4 Nov 2016 01:39:27 +0000 (01:39 +0000)]
Merge "Remove incorrect assert in btm_read_rssi_cb"
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
Treehugger Robot [Fri, 4 Nov 2016 00:31:49 +0000 (00:31 +0000)]
Merge "Replace DWORD with uint32_t"
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
Jakub Pawlowski [Thu, 3 Nov 2016 21:18:55 +0000 (14:18 -0700)]
Replace DWORD with uint32_t
Test: mma -j45
Change-Id: Ia96e87460a22c9c14ba682d07dfcb3bf5479add8
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
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
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
Jakub Pawlowski [Wed, 2 Nov 2016 03:21:38 +0000 (03:21 +0000)]
Merge "Remove unused BLE_PERIPHERAL_MODE_SUPPORT"
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
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
Jakub Pawlowski [Tue, 1 Nov 2016 22:30:42 +0000 (22:30 +0000)]
Merge "Move start advertise method to advertising interface (3/3)"
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"
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
Treehugger Robot [Tue, 1 Nov 2016 20:53:13 +0000 (20:53 +0000)]
Merge "Simplify BTA_GATTC_Listen"
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
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)
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
Treehugger Robot [Tue, 1 Nov 2016 19:04:07 +0000 (19:04 +0000)]
Merge "Make 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
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)
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
Treehugger Robot [Tue, 1 Nov 2016 01:43:29 +0000 (01:43 +0000)]
Merge "Fix AdvertiseDataParsing test"
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)
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
Treehugger Robot [Mon, 31 Oct 2016 23:02:56 +0000 (23:02 +0000)]
Merge "hci: Fix multi-line comments after clang-format"
Treehugger Robot [Mon, 31 Oct 2016 21:10:40 +0000 (21:10 +0000)]
Merge "test: Add a README file"
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
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
root [Mon, 31 Oct 2016 20:37:33 +0000 (13:37 -0700)]
Fix AdvertiseDataParsing test
Test: run LowEnergyAdvertiserPostRegisterTest.AdvertiseDataParsing
Change-Id: Ib9f4dbc1079ae289cc5eeaee9ca7050d308a4ab0
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>
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)
Jakub Pawlowski [Sat, 29 Oct 2016 00:29:49 +0000 (00:29 +0000)]
Merge "Remove advertise whitelist functionality"
Jakub Pawlowski [Fri, 28 Oct 2016 23:08:54 +0000 (23:08 +0000)]
Merge "Exclude calls to android-specific code in generic build"
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
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"
Treehugger Robot [Fri, 28 Oct 2016 20:50:42 +0000 (20:50 +0000)]
Merge "Report FW configuration status to upper layer"
Treehugger Robot [Fri, 28 Oct 2016 20:45:08 +0000 (20:45 +0000)]
Merge "Separate LE scanner and GATT client BTIF interfaces (3/3)"
Treehugger Robot [Fri, 28 Oct 2016 19:14:38 +0000 (19:14 +0000)]
Merge "Separated initialize and re-initialize of DM control block"
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>
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
Jakub Pawlowski [Wed, 26 Oct 2016 00:10:49 +0000 (00:10 +0000)]
Merge "Change how Advertise Data is passed to BTIF (2/3)"
Tsuyoshi Kamata [Wed, 4 Mar 2015 03:09:26 +0000 (12:09 +0900)]
Reset reconfig and suspend flags before connecting
When turning a carkit OFF during music playback, the flags are set to
false. After turning it back ON and re-connecting with the carkit, the
flags are not reset. This causes a potential disconnect when the pause
button is pushed on the carkit.
Bug:
28852454
Change-Id: If51c9b0a9d4180d5d3ca74963aa8186dd3f19e96
Jakub Pawlowski [Wed, 19 Oct 2016 21:46:09 +0000 (14:46 -0700)]
Change how Advertise Data is passed to BTIF (2/3)
The way that AD data is passed right now put some additional
limitations, i.e. only one manufacturer specific data can be set, or
only one service UUID. By moving AD generation to upper layers, aother
set of limitations is removed.
Test: Covered by BleAdvertiseApiTest sl4a test
Bug:
30622771
Change-Id: Iee48ea30ec4c055eaa1ad0b1678686d261106e76
Treehugger Robot [Tue, 25 Oct 2016 19:22:40 +0000 (19:22 +0000)]
Merge "Update the A2DP codec setup and selection mechanism"
Jakub Pawlowski [Mon, 24 Oct 2016 22:00:12 +0000 (15:00 -0700)]
Fix random crashes in HID related code
Operation on characteristics/descriptors shouldn't access GATT database
when it's executed. This could happen while service rediscovery is in
progress.
Bug:
32240759
Test: connect to HID device
Change-Id: Ie2b6e6b451456204b1cea1e500df9a0ff949a9ef
Pavlin Radoslavov [Mon, 24 Oct 2016 03:39:46 +0000 (20:39 -0700)]
Update the A2DP codec setup and selection mechanism
* Update bta_av_co_audio_set_codec() so it can select among
multiple available A2DP source codecs.
* Rename A2DP_SetCodec() to A2DP_SetSourceCodec() and update
it to use tA2DP_CODEC_SEP_INDEX as an argument to specify
the particular codec (instead of using SBC as default).
Also:
* Move the definition of AVDT_CODEC_SIZE from bt_target.h
to avdt_api.h and increased its value from 10 to 20
* Add missing bta_av_co_audio_sink_has_scmst() check inside
bta_av_co_find_peer_sink_supports_codec()
* Rename (inside bta_av_co.cc): cfg -> config
Bug:
30958229
Test: unit tests and A2DP streaming
Change-Id: I49fcf5063c3b6c4060abdfb60c2db171fa1ff747
Treehugger Robot [Mon, 24 Oct 2016 18:54:29 +0000 (18:54 +0000)]
Merge "Dequeues direct connection request during cancel conn operation"
Subramanian Srinivasan [Thu, 21 Aug 2014 23:46:04 +0000 (16:46 -0700)]
Dequeues direct connection request during cancel conn operation
When cancel connection request for a device is sent
from an app and if the current pending connection
request's BD address does not match with this device,
the entries of the connection request pending queue
are also checked. If BD address match occurs with an
entry in the connection request queue, the entry is
removed from the queue.
Change-Id: I1bf50a424d86ac53a5201fff742c822f4c8d1c0b
Treehugger Robot [Mon, 24 Oct 2016 17:19:33 +0000 (17:19 +0000)]
Merge "Update macros: Add parens and do-while blocks"
Gurpreet Ghai [Mon, 12 Sep 2016 12:06:53 +0000 (17:36 +0530)]
Serialize stack shutdown, state change callback and cleanup
Use Case: Bluetooth On/Off scenario, User switch
Steps:
1. Turn ON Bluetooth
2. Switch user
Also observed on occurrence of enable/disable timeout during On/Off testing.
Failure: Crash while sending state change HAL callback.
Root Cause: In the event when stack cleanup is queued to stack manager
thread when stack shutdown is being processed, stack cleanup starts
execution as soon as stack shutdown is finished.
If the function event_signal_stack_down posted to btif thread at the
end of stack shutdown is executed after stack cleanup crash occurs.
Fix: Serialized the execution of stack shutdown, state change callback
execution and stack cleanup to happen in same order.
Test: code compilation.
Change-Id: Ic96205b5c304acb44eab53f4e2cb150726643bda
Myles Watson [Fri, 21 Oct 2016 23:25:30 +0000 (16:25 -0700)]
Update macros: Add parens and do-while blocks
Test: mma -j32
Change-Id: I7a77fb3e045e29c57cbf2e9c36b8867ca263a82f
Myles Watson [Fri, 21 Oct 2016 16:39:13 +0000 (09:39 -0700)]
btif: Add do-while blocks to macros
Test: mma -j32
Change-Id: Ie82465b8cef6c4f527fad13892abb365e15dad7c
Treehugger Robot [Sat, 22 Oct 2016 03:29:07 +0000 (03:29 +0000)]
Merge "btif: Fix formatting in comments"
Treehugger Robot [Sat, 22 Oct 2016 00:54:38 +0000 (00:54 +0000)]
Merge "Fix the GATT re-discovery failure when GATT service discovery is ongoing"
Myles Watson [Fri, 21 Oct 2016 16:45:42 +0000 (09:45 -0700)]
btif: Fix formatting in comments
Test: mma -j32
Change-Id: I851e21d9f2935ab2afbf5e063f6df31e8d50c305
IHLHO KIM [Fri, 23 Sep 2016 07:43:54 +0000 (07:43 +0000)]
Fix the GATT re-discovery failure when GATT service discovery is ongoing
If 'BTA_GATTC_Refresh' is called when GATT service discovery is ongoing, GATT service discovery should be restarted after GATT service discovery is completed.
But it cannot be restarted actually because of missing set 'auto_update' state.
This patch set 'auto_update' state to start discovery again correctly.
Change-Id: Id18f04705fef253261e52836849e4e6020e42a05
Nitin Arora [Wed, 13 Apr 2016 22:53:03 +0000 (15:53 -0700)]
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
Treehugger Robot [Fri, 21 Oct 2016 20:48:55 +0000 (20:48 +0000)]
Merge "Reject AVRCP Metadata command with invalid length"
Treehugger Robot [Fri, 21 Oct 2016 20:16:07 +0000 (20:16 +0000)]
Merge "Disable HSP profile during BT turn off"
Satish Kodishala [Wed, 9 Mar 2016 13:27:01 +0000 (18:57 +0530)]
Disable HSP profile during BT turn off
Usecase:
1. Enable HSP profile only.
2. Do Network reset.
3. Connect to headset supporting HSP profile.
Failure:
Not able to connect to headset after network reset.
Rootcause:
During BT turn off, HFP profile is disabled instead of
HSP profile. This led to the HSP profile registration
from apps failed during turn on after network reset.
Fix:
Add a check to see if HFP or HSP profile is enabled
during BT turn off.
Test: code compilation
Change-Id: Ie7bd7b546c377f4a060bc89916640035a047d086
Anubhav Gupta [Wed, 21 May 2014 14:33:00 +0000 (20:03 +0530)]
Reject AVRCP Metadata command with invalid length
This change ensures that DUT rejects AVRCP Meta command
having invalid data length to avoid crash while processing
the invalid command further.
This crash was seen while running codenomicon test suit.
Change-Id: I8a591d601636a0fce268b5b965f2bd691c24c319
Nitin Arora [Thu, 16 Jun 2016 22:27:59 +0000 (15:27 -0700)]
Prevent multiple register of service change indication
Use Case:
Pair DUT to a remote LE device. The host registers for the service
change indication twice, once when the connection callback is
received and another time, when the SMP process completes
Failure:
There are a few issues caused by this.
First, the duplicate action of service change indication registeration
is unnecessary.
The registeration that follows the SMP process adds a gatt_if to the
apps holding the current link. This gatt_if (=1) never disconnects
after registeration failure or success. And hence the host can never
physically disconnect the link.
Fix:
This change removes the service change registeration at SMP
process completion
Test: manual
Change-Id: I0d7566e2b4a9d01aa7926cdbe9f528c3941fcfeb
Treehugger Robot [Fri, 21 Oct 2016 16:12:53 +0000 (16:12 +0000)]
Merge "Remove multiplexing capability in AVDTP"
Myles Watson [Wed, 19 Oct 2016 16:53:56 +0000 (09:53 -0700)]
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
Myles Watson [Wed, 19 Oct 2016 16:50:22 +0000 (09:50 -0700)]
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
Pavlin Radoslavov [Fri, 21 Oct 2016 01:30:05 +0000 (18:30 -0700)]
Remove multiplexing capability in AVDTP
Remove code guarded by AVDT_MULTIPLEXING.
This functionality is not used, and appears broken.
Test: code compilation and A2DP streaming
Change-Id: Ib87a905c61cff6b3b41d1858b90666d846847d0d
Treehugger Robot [Thu, 20 Oct 2016 22:16:03 +0000 (22:16 +0000)]
Merge "Various small warning/build fixes for Linux"
Andre Eisenbach [Tue, 18 Oct 2016 00:32:45 +0000 (17:32 -0700)]
Reset device security flags when pairing fails
Bug:
29998634
Test: manual
(cherry picked from commit
54ee9431e8bf0ec1c47d7306fd7a3d0975590733)
Change-Id: I8bd0ce5b797e30009260f7fe673f389d066db9ac
Jakub Pawlowski [Thu, 20 Oct 2016 17:19:50 +0000 (10:19 -0700)]
Various small warning/build fixes for Linux
Test: build with ninja
Change-Id: Ic0f4d23e4a56a42be6e660f2afec83400ea6daa6