OSDN Git Service
Jakub Pawlowski [Thu, 20 Oct 2016 01:52:32 +0000 (01:52 +0000)]
Move libhardware dependency to third_party folder on Linux
am:
d550019746
Change-Id: I270320ff6231af46b3f38d6e96ab8e95bfb236da
Jakub Pawlowski [Thu, 20 Oct 2016 01:35:18 +0000 (18:35 -0700)]
Move libhardware dependency to third_party folder on Linux
Thanks to this change we no longer have to configure paths by hand
Test: build with ninja
Change-Id: I04dfaa8f16e52a25efcc241019bae40d4201fb8b
Myles Watson [Wed, 19 Oct 2016 22:14:19 +0000 (22:14 +0000)]
osi: Apply clang-format
am:
b55040cc64
Change-Id: Ie27561c10d215e7c64b518402c529ec40908a485
Myles Watson [Wed, 19 Oct 2016 20:15:34 +0000 (13:15 -0700)]
osi: Apply clang-format
cd osi/
clang-format -i --style=file include/*.h include/socket_utils/* src/*.cc \
src/socket_utils/* src/protos/* test/*
Test: mma -j32
Change-Id: I659e586076f1e2ec8f687cd33f441700b8d1f823
Jakub Pawlowski [Wed, 19 Oct 2016 19:18:18 +0000 (19:18 +0000)]
Get rid of dependency on core from linux build (1/2)
am:
b08fbbf106
Change-Id: I06f6701477859f3e02c2b76279bde9d673c53d2e
Jakub Pawlowski [Wed, 19 Oct 2016 03:22:14 +0000 (20:22 -0700)]
Get rid of dependency on core from linux build (1/2)
When building bluetooth stack for linux, don't include dependencies from
core.
Test: build with ninja and mma
Change-Id: I02aeb178327c9f6c0414cc37624aecc58fb0876e
Pavlin Radoslavov [Wed, 19 Oct 2016 07:16:56 +0000 (07:16 +0000)]
Merge "Abstract the adjustment of A2DP codec parameters"
am:
425a8cfa39
Change-Id: I26f82041d6273f05d797ccd4309760a11d1d48c2
Treehugger Robot [Wed, 19 Oct 2016 07:11:14 +0000 (07:11 +0000)]
Merge "Abstract the adjustment of A2DP codec parameters"
Jakub Pawlowski [Wed, 19 Oct 2016 04:30:46 +0000 (04:30 +0000)]
Remove Android a2dp bridge from generic build configuration
am:
5baa875baa
Change-Id: I6ace10e7d598db1e00f30edf3356f2e5df7e8fb8
Jakub Pawlowski [Wed, 19 Oct 2016 01:45:21 +0000 (18:45 -0700)]
Remove Android a2dp bridge from generic build configuration
Code in audio_a2dp_hw folder contains Android-specific code for talking
to Android media libraries. It is not useful on other platforms, and
only adds unnecessary dependencies.
Test: compile with ninja
Change-Id: Ia0313332b4456ba0287587da66cdf2cce045f89c
Pavlin Radoslavov [Wed, 19 Oct 2016 00:19:55 +0000 (17:19 -0700)]
Abstract the adjustment of A2DP codec parameters
Replaced hard-coded SBC-specific hack for updating some
of its parameters with an API abstraction: A2DP_AdjustCodec()
Also, added the corresponding unit tests.
Bug:
30958229
Test: manual A2DP testing, added new unit tests
Change-Id: I51a0a019d107362f9c24829408d426a5403b0a8e
Jakub Pawlowski [Wed, 19 Oct 2016 00:55:46 +0000 (00:55 +0000)]
Merge "Use the default LE connection timeout if the remote device has no preference"
am:
18ab8cc580
Change-Id: I23f0cda113f5d943e2f97f507314ca897deacb4a
Treehugger Robot [Wed, 19 Oct 2016 00:50:29 +0000 (00:50 +0000)]
Merge "Use the default LE connection timeout if the remote device has no preference"
Andre Eisenbach [Wed, 19 Oct 2016 00:35:32 +0000 (00:35 +0000)]
Merge "Remove unused task IDs"
am:
2a7c083e7e
Change-Id: Ifdbfc60ddaf38aa5ab81de62be52b9a971cade35
Treehugger Robot [Wed, 19 Oct 2016 00:30:01 +0000 (00:30 +0000)]
Merge "Remove unused task IDs"
Jakub Pawlowski [Tue, 18 Oct 2016 21:56:00 +0000 (14:56 -0700)]
Use the default LE connection timeout if the remote device has no preference
Change-Id: I03f022b6f18c7d1ec7f139a7d67fd60ec6f15ba2
Pavlin Radoslavov [Tue, 18 Oct 2016 20:53:03 +0000 (20:53 +0000)]
Merge "Add the appropriate statement to "case:" without "break""
am:
43b6bd3af7
Change-Id: I930944124ac86923dfff57fca50e71353b37c2d3
Andre Eisenbach [Tue, 18 Oct 2016 20:52:53 +0000 (20:52 +0000)]
Merge "Remove GAP_CONN_POST_EVT_INCLUDED"
am:
95f9af3e65
Change-Id: I220a092683643611acb3a5fb00952fea653d4c61
Treehugger Robot [Tue, 18 Oct 2016 20:48:22 +0000 (20:48 +0000)]
Merge "Add the appropriate statement to "case:" without "break""
Treehugger Robot [Tue, 18 Oct 2016 20:44:08 +0000 (20:44 +0000)]
Merge "Remove GAP_CONN_POST_EVT_INCLUDED"
Jakub Pawlowski [Tue, 18 Oct 2016 20:10:19 +0000 (20:10 +0000)]
Linux build fix
am:
4d237f22c0
Change-Id: I93415a4f4c1017f4b276c6c3fcf1d2f5ee0476bf
Andre Eisenbach [Tue, 18 Oct 2016 19:16:07 +0000 (12:16 -0700)]
Remove unused task IDs
Test: compiles
Change-Id: I0a16498d82d12e1b7597290e8b778efb5a7b3906
Andre Eisenbach [Tue, 18 Oct 2016 18:58:57 +0000 (11:58 -0700)]
Remove GAP_CONN_POST_EVT_INCLUDED
Also removed last usage of a GKI_* function.
Test: compiles
Change-Id: If9f8beca5d8485b363027fd64ac4005e9e499721
Jakub Pawlowski [Tue, 18 Oct 2016 17:54:10 +0000 (17:54 +0000)]
Add clang configuration for ninja build scripts
am:
e28785321b
Change-Id: Ie0fdc906d08abc88c28b11827fbe4a4f909e867d
Jakub Pawlowski [Tue, 18 Oct 2016 16:56:29 +0000 (09:56 -0700)]
Linux build fix
Test: compile using ninja
Pavlin Radoslavov [Tue, 18 Oct 2016 17:12:26 +0000 (10:12 -0700)]
Add the appropriate statement to "case:" without "break"
Test: code compilation
Change-Id: Ia43d7530a598a526764023c47bb20fdedda6fe64
Jakub Pawlowski [Tue, 18 Oct 2016 16:56:57 +0000 (09:56 -0700)]
Add clang configuration for ninja build scripts
Test: compile with ninja
Change-Id: I0f2ff28a03de05ea96bed5ba43eace9609d8deb0
Greg Kaiser [Tue, 18 Oct 2016 17:00:01 +0000 (17:00 +0000)]
btif_rc: Don't memset STL mutex objects
am:
78965e88ee
Change-Id: Ib6aa1f0d60a60c3f660e2c1b3eade27b89e0abe7
Greg Kaiser [Tue, 18 Oct 2016 14:04:24 +0000 (07:04 -0700)]
btif_rc: Don't memset STL mutex objects
Switching to STL mutex/recursive_mutex objects left us with
code which memset these objects. These are opaque, and need to
be initialized/destroyed via constructors/destructors, not
through directly setting their memory.
We change our memset calls to only zero out the parts of the
structs which don't have these objects.
Test: Recompile
Change-Id: Idf666e935f4094ad4cfca7cdafa523f777a7e769
Pavlin Radoslavov [Tue, 18 Oct 2016 07:25:26 +0000 (07:25 +0000)]
Renamed most C files to C++: *.c to *.cc
am:
b2a292b5d8
Change-Id: I80a6e26de5db95ededa91adffa16c5da103a4f74
Pavlin Radoslavov [Sat, 15 Oct 2016 02:34:48 +0000 (19:34 -0700)]
Renamed most C files to C++: *.c to *.cc
Also:
- Fixed C++ related compilation errors.
- Added missing 'extern "C"' guards in some of the header files.
- Added missing LOCAL_CPP_EXTENSION to Android.mk files.
- Added-back btif/src/btif_mce.cc and bta/mce/bta_mce_* to
btif/Android.mk and bta/Android.mk respectively.
- Fixed the alphabetical ordering of the *.cc files in some
of the Android.mk files.
- Added missing Copyright header to "osi/include/list.h"
- Updated "osi/src/wakelock.cc" to use C++ std::string
instead of dynamic allocation of C-style strings.
Test: code compilation, unit tests, and A2DP streaming
Change-Id: Ia2f7215ed9df32775c701b68fc86b09875b942c7
Pavlin Radoslavov [Tue, 18 Oct 2016 05:02:47 +0000 (05:02 +0000)]
Removed obsoleted define statements from bt_target.h
am:
3c196348ee
Change-Id: I20af86287c83b4ba05e55a02776b9a3889229fc6
Pavlin Radoslavov [Tue, 18 Oct 2016 00:38:02 +0000 (17:38 -0700)]
Removed obsoleted define statements from bt_target.h
The removed statements were accidentally re-introduced
by an earlier CL that wasn't cherry-picked / rebased properly.
Test: code compilation.
Change-Id: I726a8df99c4a8e7af8130c0ca63306e67c4486c3
Mark Salyzyn [Tue, 18 Oct 2016 01:44:54 +0000 (01:44 +0000)]
Merge "Add various missing includes"
am:
66e8c7aa14
Change-Id: I741ade8b7054fcbca5d703f835c40a9db1148176
Treehugger Robot [Tue, 18 Oct 2016 01:38:08 +0000 (01:38 +0000)]
Merge "Add various missing includes"
Jakub Pawlowski [Tue, 18 Oct 2016 01:22:04 +0000 (01:22 +0000)]
Make advertising instance count part of the HCI interface
am:
1dd7751088
Change-Id: I09eeb00aab9893068f62669cb42aaf7efc4b875f
Mark Salyzyn [Mon, 17 Oct 2016 16:43:39 +0000 (09:43 -0700)]
Add various missing includes
Test: Build errors
Bug:
30465923
Change-Id: Ib902d9d11d1f346d4dab0678d7f409f11a35c1b2
Jakub Pawlowski [Mon, 10 Oct 2016 21:25:52 +0000 (14:25 -0700)]
Make advertising instance count part of the HCI interface
The number of advertising instances will ultimately depend on the HCI
interface used. BleAdvertisingManagerImpl should not depend on a global
function for that.
Test: Covered by BleAdvertiseApiTest sl4a test
Bug:
30622771
Change-Id: I1399de3f4289708f7218eae9c00ac7372e4246db
Sanket Agarwal [Mon, 17 Oct 2016 21:30:50 +0000 (21:30 +0000)]
Implement AVRCP Controller (Client) Browsing.
am:
e7bd890565
Change-Id: Ibd246c1de29b17a0cf3f11f7280bb9bdccd1c842
Pavlin Radoslavov [Mon, 17 Oct 2016 20:45:31 +0000 (13:45 -0700)]
Removed duplicate define of BT_HCI_UNKNOWN_MESSAGE_TYPE_NUM
Change-Id: I1487eb0a77aa8c92d70e3fbd931a6340e1e952f3
Sanket Agarwal [Wed, 11 May 2016 19:30:49 +0000 (12:30 -0700)]
Implement AVRCP Controller (Client) Browsing.
Following is included as part of the features:
a) Browsing for all 4 scopes (Media, VFS, Player and Now Playing)
b) Player selection and song selection from browse list.
The change constructs the following (from lower to upper protocol
layers):
1. AVCTP Browse (bta/ & stack/)
-- Connection Handling
-- Constructing browse commands
-- Parsing browse responses
2. AVRCP (btif/)
-- JNI interaction/API
-- Connection handling to Java
-- Delegating request and responses to Java
Bug:
28791287
Change-Id: Ibc97ded93cb9c469778ea1e37733390d561cd4cd
(cherry picked from commit
9ea8d07c9286a1f4d338dd64ee02266e324d28e5)
Pavlin Radoslavov [Sat, 15 Oct 2016 12:10:16 +0000 (12:10 +0000)]
Format A2DP-related code with clang-format
am:
397e5a5d6a
Change-Id: I26e949b947ddf440fd71acfe24ef5740a7e3b13c
Pavlin Radoslavov [Sat, 15 Oct 2016 10:15:07 +0000 (10:15 +0000)]
Removed unused *_DYNAMIC_MEMORY conditional statements
am:
37c1b5f8cc
Change-Id: I8caeb3272c68f735428bfc5282688f6526db3367
Pavlin Radoslavov [Fri, 14 Oct 2016 23:13:54 +0000 (16:13 -0700)]
Format A2DP-related code with clang-format
clang-format -style=file -i stack/a2dp/a2dp_* stack/include/a2dp_* \
btif/include/btif_a2dp* btif/src/btif_a2dp*
Test: top-level compilation and running A2DP
Change-Id: I66f0a047192b783ac0147def480754daf617dd8d
Pavlin Radoslavov [Fri, 14 Oct 2016 22:47:27 +0000 (15:47 -0700)]
Removed unused *_DYNAMIC_MEMORY conditional statements
Test: compilation from the top-level directory
Change-Id: I181e6ae2e71c232ca0dc733dabda5cb0fc2672d8
Jakub Pawlowski [Sat, 15 Oct 2016 04:58:16 +0000 (04:58 +0000)]
Merge "Use proper types in SBC related code"
am:
3a9119a909
Change-Id: Ic358915630706a08305bb9264e3c0520dd0efb8e
Treehugger Robot [Sat, 15 Oct 2016 04:51:06 +0000 (04:51 +0000)]
Merge "Use proper types in SBC related code"
Jakub Pawlowski [Sat, 15 Oct 2016 00:14:16 +0000 (17:14 -0700)]
Use proper types in SBC related code
Use int32_t and int16_t instead of SINT32 and SINT16
Test: organoleptic assessment of audio quality from Android and Linux
Change-Id: Ia4d8a5f08163a90240382fd102082f5aab9611c5
Subramanian Srinivasan [Sat, 15 Oct 2016 00:43:58 +0000 (00:43 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys"
am:
fbf43ab2c5
Change-Id: Ib5f6a34cde57ad6a3560127f7035e1ad8737cb98
Treehugger Robot [Sat, 15 Oct 2016 00:34:00 +0000 (00:34 +0000)]
Merge "Add device record for BR/EDR devices with derived LE keys"
Pavlin Radoslavov [Sat, 15 Oct 2016 00:20:28 +0000 (00:20 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*"
am:
e0214a0be6
Change-Id: I0f62fb6f38a94f3716a9a09a70a32e2175fc3686
Treehugger Robot [Sat, 15 Oct 2016 00:09:42 +0000 (00:09 +0000)]
Merge "A2DP-related renaming: a2d_* to a2dp_*"
Subramanian Srinivasan [Fri, 14 Oct 2016 23:37:26 +0000 (23:37 +0000)]
Fixes setting of service uuid mask during BLE APCF scan
am:
96d078b59d
Change-Id: Ie924fc835a32ec188a7a004445db1d80ca3af65f
Subramanian Srinivasan [Fri, 14 Oct 2016 22:43:34 +0000 (15:43 -0700)]
Add device record for BR/EDR devices with derived LE keys
Loads BLE keys stored in NVRAM to btm_sec database for BR/EDR
devices with cross transport derived LE keys after BT reset.
This change also makes sure that after BT reset, while loading
the bonded devices from NVRAM, the bonded devices(with device
type BR/EDR and having derived BLE keys) are also added to the
resolving list after loading the IRK into btm_sec database.
Test: vendor
Change-Id: I1c9164a947526cf2ea36156458d148f5cbee778f
Pavlin Radoslavov [Fri, 14 Oct 2016 22:14:37 +0000 (15:14 -0700)]
A2DP-related renaming: a2d_* to a2dp_*
Test: top-level compilation and running A2DP
Change-Id: Ibbd3176b86667885666bfe29025ec2c120fafce6
Subramanian Srinivasan [Mon, 24 Aug 2015 19:17:03 +0000 (12:17 -0700)]
Fixes setting of service uuid mask during BLE APCF scan
Fixes setting of incorrect service uuid mask bytes in vendor
specific command when service uuid mask length is less than
the length of service uuid APCF filter.
eg:ServiceUuid:
12131215-0000-1000-8000-
00805F9B34FB
SvcMaskUuid:
0000FFFF-0000-1000-8000-
00805F9B34FB
In the above eg, user is trying to apply 32 bit service uuid
mask on 32 bit service uuid. But the stack treats the
service uuid mask as 16 bits and inserts garbage values for
the first 16 bits of service uuid mask in the VS command
since the MSB bits of the mask are zeroes. This change fixes
the scenario where service uuid mask length is less than
service uuid length.
Change-Id: Ie1aece1162b1ba7f4b7a3e9eea7eb5a074f85d62
Lawrance Liu [Fri, 14 Oct 2016 21:30:14 +0000 (21:30 +0000)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
am:
d20c0d7bb6
Change-Id: Idfdad13516242353eed284fe4e2683c5d69dcb3c
Pavlin Radoslavov [Fri, 14 Oct 2016 20:36:48 +0000 (20:36 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
am:
3f3b855dd0
Change-Id: I73f73a60226fca96184792ddaab26a85cdfafeed
Satish Kodishala [Fri, 14 Oct 2016 20:36:38 +0000 (20:36 +0000)]
Update hf structure on phone state change only if SLC is up
am:
d4710b9012
Change-Id: I4c50f81cc03ec3811ba28258604b2f26bc1458d5
Nitin Arora [Fri, 14 Oct 2016 20:36:29 +0000 (20:36 +0000)]
Update GATT channel state to closing during disconnection
am:
ce1f3407a4
Change-Id: I8e61e6a42c570ef6068e0fa69234a2511bb9c911
Nitin Arora [Fri, 14 Oct 2016 20:36:20 +0000 (20:36 +0000)]
Skip LE key derivation if BR key is temporary
am:
a6a2ece5fd
Change-Id: Ic212a73f1783d02431c6f95edfc8f684796a046e
Srinu Jella [Fri, 14 Oct 2016 20:36:10 +0000 (20:36 +0000)]
Add null checks for L2CAP socket callback
am:
62e6c14cde
Change-Id: Ic0869d1945696153833bb9b2740ddb85bbe599f5
Gurpreet Ghai [Fri, 14 Oct 2016 20:36:02 +0000 (20:36 +0000)]
Merge "Rectify size passed to copy service name to security records"
am:
682ff8e512
Change-Id: Icbe01a2883103cda68f806e2ca099109c0b97e37
Srinu Jella [Fri, 14 Oct 2016 20:35:49 +0000 (20:35 +0000)]
Merge "Remove bonded device information on pairing rejected"
am:
79fe542032
Change-Id: I156b1f5b7765b59fdc1bfd834098a39d287bb1cc
Srinu Jella [Fri, 14 Oct 2016 20:35:38 +0000 (20:35 +0000)]
Merge "Cleanup L2CAP socket properly on close"
am:
db45524a30
Change-Id: I491cff2ce03d426d20126e24635fa47fbcf8a21c
Devin Kim [Fri, 14 Oct 2016 20:35:29 +0000 (20:35 +0000)]
Fix HFP AT command BIA failures
am:
650e755cd4
Change-Id: Ia370060c953e73417b54e6906dad4fd929a7d9de
Srinu Jella [Fri, 14 Oct 2016 20:35:19 +0000 (20:35 +0000)]
RFCOMM: Prevent sending data in BTA_JV_ST_NONE state
am:
46069c6419
Change-Id: If2ff94e17a6198700e182ea46bcb30bae7796828
Jakub Pawlowski [Fri, 14 Oct 2016 20:35:05 +0000 (20:35 +0000)]
Add missing header files for ninja
am:
23f1d32922
Change-Id: I76e28ef1b0b5f1146c2ba3ffd3040e652195a85f
Lawrance Liu [Wed, 21 Sep 2016 15:01:13 +0000 (23:01 +0800)]
HCI HAL: Retry writing HCI data on UART socket for EAGAIN errors
If HCI HAL receives error code "EAGAIN" when transmitting data on UART
socket, retry transmit data again.
Purpose :
When doing system suspend/resume aging test, the HCI HAL may transmit
data during system resuming. In this case, there exist some timing which
BT controller does not allow HCI HAL to transmit data.
Change-Id: Ic1f13c76d8e735c941800a318a0388ca42b1fd72
Test: System suspend/resume aging test.
Treehugger Robot [Fri, 14 Oct 2016 20:21:15 +0000 (20:21 +0000)]
Merge "Renamed files: *.c to *.cc in bta/av and stack/a2dp"
Satish Kodishala [Thu, 4 Feb 2016 04:05:59 +0000 (09:35 +0530)]
Update hf structure on phone state change only if SLC is up
Usecase:
1. Enable multi-hf
2. Pair and connect A2DP to a headset(hs1).
3. Pair and connect HFP to another headset(hs2)
4. Accept call on AG
5. Disconnect hs2 by powering off headset
6. Disconnect the call
7. Power on the hs2
Failure:
No A2DP playback on hs1 though music player is playing.
Rootcause:
When there is a call on AG, we update both hf structures about
the call. However, when any headset gets disconnected, only its
hf structure is cleared. After the call is ended, we don't clear
hf structures since there is no hf connection. When A2DP queries
for active call, we return true incorrectly since the hs1's structures
are not updated when the call is ended.
Fix:
Update hf structures on phone state change only if SLC is connected
on it. Updating both hf structures regardless of the SLC state causes
hf state to indicate wrong status.
Test: manual
Change-Id: I487792038d97a2bac77639d7c699f49fc0b18f97
Nitin Arora [Thu, 14 May 2015 01:39:50 +0000 (18:39 -0700)]
Update GATT channel state to closing during disconnection
This change ensures that the GATT channel state is
moved to CLOSING state while GATT disconnect is
requested by the host, specifically when the GATT
state is OPEN.
This is needed to prevent any furthur GATT operations,
once GATT disconnect is issued.
Change-Id: I8511caa477881de4f4eaf18b84f23530e1958fe9
Nitin Arora [Wed, 19 Aug 2015 22:47:23 +0000 (15:47 -0700)]
Skip LE key derivation if BR key is temporary
This change skips the LE LTK derivation in case the BR pairig
is not deticated bonding and neither side has requested MITM.
I.e. OPP file transfer require such bonds. This change resolve
the issue of residual IRK in the resolving list.
Change-Id: Ifc9dfc097564f603a466a5bd9b245c89f1bb82aa
Srinu Jella [Wed, 25 Mar 2015 07:36:38 +0000 (13:06 +0530)]
Add null checks for L2CAP socket callback
Use Case: Bluetooth process crashed while sending the file
to remote device.
Steps: Send a file over L2CAP (OBEX over L2CAP) to remote device
Failure: BT process will crash and restarted automatically
Root Cause: L2CAP socket callback reset to null on error
condition, and when other function try to dereference it, this
leads to BT crash.
Fix: Added null checks for L2CAP socket callback
Change-Id: I2e4f20278fcc8a09bd4dbd507a6c4147e0de93c1
Pavlin Radoslavov [Fri, 14 Oct 2016 19:17:08 +0000 (12:17 -0700)]
Renamed files: *.c to *.cc in bta/av and stack/a2dp
Also, fixed C++ related compilation errors.
Test: code compilation from top-level directory
Change-Id: I60367ee7bc54b891cb05bb3f88dd11ebe5b2ca83
Treehugger Robot [Fri, 14 Oct 2016 19:49:05 +0000 (19:49 +0000)]
Merge "Rectify size passed to copy service name to security records"
Treehugger Robot [Fri, 14 Oct 2016 19:45:26 +0000 (19:45 +0000)]
Merge "Remove bonded device information on pairing rejected"
Treehugger Robot [Fri, 14 Oct 2016 19:43:05 +0000 (19:43 +0000)]
Merge "Cleanup L2CAP socket properly on close"
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
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
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
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
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
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
Pavlin Radoslavov [Fri, 14 Oct 2016 05:55:14 +0000 (05:55 +0000)]
Add a mechanism to dump A2DP codec stats am:
dd5ed02cf2 am:
6f2493b366
am:
6cb12b8702
Change-Id: Icbbc8a8c5a1249fa796b9e785550e3ffb0d1fb24
Pavlin Radoslavov [Fri, 14 Oct 2016 05:49:42 +0000 (05:49 +0000)]
Add a mechanism to dump A2DP codec stats am:
dd5ed02cf2
am:
6f2493b366
Change-Id: Ic3e89baaa23b82d480a829763a1927106e3dfb7c
Pavlin Radoslavov [Fri, 14 Oct 2016 05:46:42 +0000 (05:46 +0000)]
Add a mechanism to dump A2DP codec stats
am:
dd5ed02cf2
Change-Id: I333334f811d142983439361718d655977ff27d99
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
Jakub Pawlowski [Fri, 14 Oct 2016 03:29:54 +0000 (03:29 +0000)]
Add include for CHAR_BIT definition am:
3fa7cce717 am:
dccaa2ee19
am:
48bef27ba4
Change-Id: I640b4eb0d80d7b43a035065f46c4a718faeafb18
Jakub Pawlowski [Fri, 14 Oct 2016 03:24:02 +0000 (03:24 +0000)]
Add include for CHAR_BIT definition am:
3fa7cce717
am:
dccaa2ee19
Change-Id: I491edf2755e53adf75a15bb2506a7999d4154aad
Jakub Pawlowski [Fri, 14 Oct 2016 03:21:33 +0000 (03:21 +0000)]
Add include for CHAR_BIT definition
am:
3fa7cce717
Change-Id: I8fff1882947d3eb0157ea4a33e921ede8b1a0401
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
Pavlin Radoslavov [Fri, 14 Oct 2016 02:12:49 +0000 (02:12 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup" am:
afe49c0807 am:
3b77f09952
am:
9ba0a8e575
Change-Id: I13b5d9eb87d3ae4e8342e53e1ec675515b2c499e
Pavlin Radoslavov [Fri, 14 Oct 2016 02:04:27 +0000 (02:04 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup" am:
afe49c0807
am:
3b77f09952
Change-Id: I227e533d847b069bc3159a7fd53c2e768cf5f529
Pavlin Radoslavov [Fri, 14 Oct 2016 02:02:27 +0000 (02:02 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup"
am:
afe49c0807
Change-Id: I3c0df19cac290ad3e7bc7122f91df25f7ec52514
Treehugger Robot [Fri, 14 Oct 2016 01:55:33 +0000 (01:55 +0000)]
Merge "BTIF A2DP Source and Sink refactor and cleanup"
Jakub Pawlowski [Fri, 14 Oct 2016 01:51:37 +0000 (01:51 +0000)]
Use proper socket type in uipc for non-android am:
7da3a4a70b am:
174f9687a6
am:
b728a25abb
Change-Id: I50a59b47d99f4873821b6ec81f066a17441df494
Jakub Pawlowski [Fri, 14 Oct 2016 01:43:54 +0000 (01:43 +0000)]
Use proper socket type in uipc for non-android am:
7da3a4a70b
am:
174f9687a6
Change-Id: I16779ac3e0a731c92411d4de695662b717f30e8e
Jakub Pawlowski [Fri, 14 Oct 2016 01:38:48 +0000 (01:38 +0000)]
Use proper socket type in uipc for non-android
am:
7da3a4a70b
Change-Id: Icf9577a80fda8742df82d1e1c3c7973a349ed146
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