OSDN Git Service

android-x86/system-bt.git
5 years agoClear connection update pending flag when disconnected
Stanley Tng [Thu, 23 Aug 2018 21:53:24 +0000 (14:53 -0700)]
Clear connection update pending flag when disconnected
am: 54e8b72a50

Change-Id: Ia60a75778714b48f038c2de77f239f16e3149255

5 years agoClear connection update pending flag when disconnected
Stanley Tng [Wed, 22 Aug 2018 21:43:57 +0000 (14:43 -0700)]
Clear connection update pending flag when disconnected

For the hearing aid profile and when we get disconnection
while there is a pending connection update, then clear the flag so that
the next connection update can proceed.

Bug: 112050972
Test: Manual test to check for regressions
Change-Id: I54635a680cf276cf6c9f94520943c3efa97e77ec

5 years agoMerge "A2DP-SINK: Use MessageLoopThread for decoding"
Jack He [Wed, 22 Aug 2018 01:24:32 +0000 (18:24 -0700)]
Merge "A2DP-SINK: Use MessageLoopThread for decoding"
am: 376b8cf273

Change-Id: I5a76fcc2c44dabcb553fc52acf79f57c3885bce3

5 years agoMerge "A2DP-SINK: Use MessageLoopThread for decoding"
Treehugger Robot [Tue, 21 Aug 2018 23:47:01 +0000 (23:47 +0000)]
Merge "A2DP-SINK: Use MessageLoopThread for decoding"

5 years agoMerge "Fix "Disable Absolute Volume" Bluetooth developer option"
Ted Wang [Tue, 21 Aug 2018 03:32:28 +0000 (20:32 -0700)]
Merge "Fix "Disable Absolute Volume" Bluetooth developer option"
am: 4de73dae02

Change-Id: I8a1dd33fef1588126748a69ca57ab4e6839cc89a

5 years agoMerge "Fix "Disable Absolute Volume" Bluetooth developer option"
Ted Wang [Tue, 21 Aug 2018 02:32:49 +0000 (02:32 +0000)]
Merge "Fix "Disable Absolute Volume" Bluetooth developer option"

5 years agoDisable CFI verification for stack_rfcomm test that uses gtest+gmock
Jack He [Tue, 21 Aug 2018 01:23:24 +0000 (18:23 -0700)]
Disable CFI verification for stack_rfcomm test that uses gtest+gmock
am: baa8df4f57

Change-Id: Ibc40188504563046a945e0d0840b3b978c2d8f11

5 years agoDisable CFI verification for stack_rfcomm test that uses gtest+gmock
Jack He [Mon, 20 Aug 2018 22:46:24 +0000 (15:46 -0700)]
Disable CFI verification for stack_rfcomm test that uses gtest+gmock

Apparently, the CFI verification crashes unit tests that
are using gtest+gmock. Interestingly, those tests succeed for 32-bit
binaries, and fail for 64-bit binaries.

Bug: 71739588
Test: Running the 64-bit version of the unit tests in test/run_unit_tests.sh
Change-Id: Ic950087181a86d08af1b858272e946ef4125b78a

5 years agoA2DP-SINK: Use MessageLoopThread for decoding
Jack He [Thu, 16 Aug 2018 08:29:50 +0000 (01:29 -0700)]
A2DP-SINK: Use MessageLoopThread for decoding

* Instead of OSI thread, use MessageLoopThread for decoding
* Similar to A2DP source
* Change tBTIF_A2DP_SINK_CB into a proper class BtifA2dpSinkControlBlock
* Initialize variables in BtifA2dpSinkControlBlock's constructor
* Free un-freed variables in BtifA2dpSinkControlBlock::Reset() method

Bug: 110303473
Test: mm -j40, unit test, stream music
Change-Id: I21f5b0c9f88d2cadada6fc854070d31ac378244f

5 years agoFix "Disable Absolute Volume" Bluetooth developer option
Ted [Fri, 17 Aug 2018 10:49:37 +0000 (18:49 +0800)]
Fix "Disable Absolute Volume" Bluetooth developer option

Do not report device support absolute volume while
"Disable Absolute Volume" in developer option is enabled or
the remote device is listed in the interoperability database.

Test: manually adjust volume when Disable Absolute Volume is enabled
Bug: 112193362
Change-Id: Id63a22dba0d8a871035774fc86b66d32e9225b48

5 years agoA2DP Offload: Fix Max AVDTP MTU for Offload
Sunny Kapdi [Mon, 20 Aug 2018 06:01:28 +0000 (23:01 -0700)]
A2DP Offload: Fix Max AVDTP MTU for Offload
am: e42bc5bb99

Change-Id: I91c9db05409352fe64f2c47f7b3608959760d0c2

5 years agoA2DP Offload: Fix Max AVDTP MTU for Offload
Sunny Kapdi [Thu, 5 Jul 2018 21:31:21 +0000 (14:31 -0700)]
A2DP Offload: Fix Max AVDTP MTU for Offload

Fix the max AVDTP MTU for Offload to what
can fit in a 3DH5 packet after accounting
for AVDTP and L2CAP header.

Also:
 - Moved MAX_2MBPS_AVDTP_MTU and MAX_3MBPS_AVDTP_MTU to the common
   avdt_api.h so it can be used by the rest of the code
 - Removed previously incorrect value of BTA_AV_MAX_A2DP_MTU and
   replace it with the new (correct) value of MAX_3MBPS_AVDTP_MTU
 - Removed duplicate define of MAX_2MBPS_AVDTP_MTU and use
   the one from avdt_api.h

Bug: 78907438
Test: A2DP Streaming
Change-Id: I2c60c34c33e4164c9f7e2e7362bbb600482dec97

5 years agoMerge "Implement A2DP sink and AVRCP controller binder server"
Bailey Forrest [Sat, 18 Aug 2018 20:25:10 +0000 (13:25 -0700)]
Merge "Implement A2DP sink and AVRCP controller binder server"
am: bb216d2135

Change-Id: Ic620184565246aa4a3b2f20df4bfcc39f5a3e395

5 years agoMerge "Implement A2DP sink and AVRCP controller binder server"
Treehugger Robot [Sat, 18 Aug 2018 20:18:39 +0000 (20:18 +0000)]
Merge "Implement A2DP sink and AVRCP controller binder server"

5 years agoImplement A2DP sink and AVRCP controller binder server
Bailey Forrest [Tue, 31 Jan 2017 01:38:58 +0000 (17:38 -0800)]
Implement A2DP sink and AVRCP controller binder server

Also added bonded device management because this is needed for A2DP to
work with most devices.

Bug: 32657860
Test: Run on device, modified tests pass.
Change-Id: I862e41b6594b7cec9f61094d300577574cc8bbc6

5 years agoMerge "Replace period_ms_t with uint64_t"
Jack He [Sat, 18 Aug 2018 02:08:11 +0000 (19:08 -0700)]
Merge "Replace period_ms_t with uint64_t"
am: e0fc57522f

Change-Id: Ia0e930e8efe1a6c14f3073d65eb130b68de48db2

5 years agoMerge "Replace period_ms_t with uint64_t"
Treehugger Robot [Sat, 18 Aug 2018 00:30:46 +0000 (00:30 +0000)]
Merge "Replace period_ms_t with uint64_t"

5 years agoReplace period_ms_t with uint64_t
Jack He [Thu, 16 Aug 2018 05:17:23 +0000 (22:17 -0700)]
Replace period_ms_t with uint64_t

* There is no need to define a unit for millisecond in our system since
  uint64_t is the largest integer that is supported
* period_ms_t results in many unnecessary dependency on
  osi/include/time.h
* Used text editor to do the directory wise replacement, basically
    sed -i 's/period_ms_t/uint64_t/g' *
* Need to modify several method and variable names to indicate that they
  are using millisecond as time unit

Bug: 110303473
Test: build, no functional change as period_ms_t was a typedef of
      uint64_t

Change-Id: I497c9a146a97bab7c7477b358847dad958b92034

5 years agoMerge "HID: Remove device from database in error case"
Hemant Gupta [Thu, 16 Aug 2018 23:52:28 +0000 (16:52 -0700)]
Merge "HID: Remove device from database in error case"
am: 8a227452d1

Change-Id: I307b1671a86485b4f17dd254f49cdc91ad96bf34

5 years agoMerge "HID: Remove device from database in error case"
Treehugger Robot [Thu, 16 Aug 2018 18:27:34 +0000 (18:27 +0000)]
Merge "HID: Remove device from database in error case"

5 years agoMerge "Enable SNIFF mode for HFP"
Ugo Yu [Wed, 15 Aug 2018 03:21:36 +0000 (20:21 -0700)]
Merge "Enable SNIFF mode for HFP"
am: 156fefcad7

Change-Id: I8d6dfc2e34d6eccec2738d279d9bbfedff1656df

5 years agoMerge "Fix reliable write."
Qiyu Hu [Wed, 15 Aug 2018 03:21:01 +0000 (20:21 -0700)]
Merge "Fix reliable write."
am: 8f19e1179e

Change-Id: Id51e49f4bbf7029386be917215cf79e03529ddfa

5 years agoMerge "HFP: Only active BT device can hung up call"
minle.zuo [Wed, 15 Aug 2018 03:16:11 +0000 (20:16 -0700)]
Merge "HFP: Only active BT device can hung up call"
am: 340eb06e41

Change-Id: I6cd4885aaa2dc893f8b8541abf4bac89d8b3af41

5 years agoMerge "Check startup_future before using it"
Bailey Forrest [Wed, 15 Aug 2018 03:09:55 +0000 (20:09 -0700)]
Merge "Check startup_future before using it"
am: ee0c0d8b0d

Change-Id: I10282a2c31f19c211e8c0890b7b3a0de005b1ed6

5 years agoMerge "Enable SNIFF mode for HFP"
Treehugger Robot [Wed, 15 Aug 2018 02:41:17 +0000 (02:41 +0000)]
Merge "Enable SNIFF mode for HFP"

5 years agoMerge "Fix reliable write."
Treehugger Robot [Wed, 15 Aug 2018 00:11:21 +0000 (00:11 +0000)]
Merge "Fix reliable write."

5 years agoMerge "HFP: Only active BT device can hung up call"
Treehugger Robot [Tue, 14 Aug 2018 23:27:34 +0000 (23:27 +0000)]
Merge "HFP: Only active BT device can hung up call"

5 years agoMerge "Check startup_future before using it"
Treehugger Robot [Tue, 14 Aug 2018 23:21:53 +0000 (23:21 +0000)]
Merge "Check startup_future before using it"

5 years agoFix reliable write.
Qiyu Hu [Wed, 13 Jun 2018 15:08:17 +0000 (08:08 -0700)]
Fix reliable write.

We cannot simply assume the write is terminated in reliable write. When
the reliable write value is longer than MTU allows, the current
implementation can only send whatever MTU allows and naively set the
status to GATT_SUCCESS, in the name of "application should verify handle
offset and value are matched or not". That's why MTU negotiation is a
workaround as people mention in b/37031096, which just fits all the write
value into a single request.

This also blocks our test on CtsVerifier.

Bug: 37031096
Test: Manual test and confirm that we don't simply send partial value
Change-Id: I907877608f4672f24c002e630e58bf9133937a5e

5 years agoHID: Remove device from database in error case
Hemant Gupta [Tue, 19 Sep 2017 10:00:56 +0000 (15:30 +0530)]
HID: Remove device from database in error case

Usecase:
1) Pair and connect with remote hid device.
2) Disconnect with remote hid device.
3) Unpair DUT from remote hid device.
4) Send connect request from hid device by pressing any button.
5) Try to pair and connect DUT with remote hid device.

Expected Result
1) Connection should fail after step 4 if remote device does not initaite pairing.
2) Connection should succeed with remote device and hid device should be added to
paired list and hid operations should work properly.

Observed Result
HID operations from remote device starts working without device added to paired list
and UI stucked at pairing.

Root Cause:
After step 4, device should be removed from database when incoming connection is
rejected.

Fix:
Perform virtual unplug for device when connection request for hid is received from
unpaired device.

Test: Issue is not reproducible after stress testing with above change

Bug: 68176469
Change-Id: I9bc72ccc7a849c0d6acf3230a75e1fe95949b3fe

5 years agoEnable SNIFF mode for HFP
Ugo Yu [Tue, 7 Aug 2018 01:55:11 +0000 (09:55 +0800)]
Enable SNIFF mode for HFP

Bug: 112285337
Test: Manual
Change-Id: Ibb019d11cf93051a198df4efb7bd79f31c15a9c0

5 years agoHFP: Only active BT device can hung up call
minle.zuo [Wed, 25 Jul 2018 09:02:51 +0000 (17:02 +0800)]
HFP: Only active BT device can hung up call

Some inactive devices can't send hung up key to host when
HFP connected and active call exist.
And other inactive devices can send hung up call by
sending hung up command.

Solution: To keep consistency of this behavior,
only allow active BT device to hung up call.

Test: Active device can hung up call and inactive can't hung up

Change-Id: Iec1ae689f1d40c15199707e9e925814f71ded619

5 years agoCheck startup_future before using it
Bailey Forrest [Thu, 2 Aug 2018 22:10:46 +0000 (15:10 -0700)]
Check startup_future before using it

event_finish_startup and startup_timer_expired can race, leading one of
them to try to use startup_future when it is NULL.

Check startup_future still exists before using it.

Bug: 112114060
Test: Use Bluetooth
Change-Id: I018d45f070b3f931c1114abf0471b6ea1d524f2a

5 years agoMerge "Merge stage-dr1-aosp-master into stage-aosp-master" into stage-aosp-master
Xin Li [Mon, 13 Aug 2018 23:42:29 +0000 (23:42 +0000)]
Merge "Merge stage-dr1-aosp-master into stage-aosp-master" into stage-aosp-master

5 years agoRe-enable LE advertising after disconnect, on controllers not supporting advertising...
yunhanw [Mon, 13 Aug 2018 22:05:35 +0000 (15:05 -0700)]
Re-enable LE advertising after disconnect, on controllers not supporting advertising when connected
am: dedbd07ba8

Change-Id: Ibdb35f7beec68db11af02fa992a3a6576056887f

5 years agoRe-enable LE advertising after disconnect, on controllers not supporting advertising...
yunhanw [Mon, 13 Aug 2018 18:47:47 +0000 (11:47 -0700)]
Re-enable LE advertising after disconnect, on controllers not supporting advertising when connected

Bug: 112451773
Test: compiled and local device test

Change-Id: Ia39f46b3b9667cba34465e3ff310df85a765c3e1

5 years agoMerge stage-dr1-aosp-master into stage-aosp-master
Xin Li [Mon, 13 Aug 2018 20:01:24 +0000 (13:01 -0700)]
Merge stage-dr1-aosp-master into stage-aosp-master

Bug: 112535855
Change-Id: Id58d10687225831374a0cb0b350d3711c7569cd4

5 years agoFix wrong UUID mask when doing BLE filter scan am: 0443337239
Ugo Yu [Mon, 13 Aug 2018 07:06:39 +0000 (00:06 -0700)]
Fix wrong UUID mask when doing BLE filter scan am: 0443337239
am: be2dad6cc0

Change-Id: If227eac7619e89a2cd2cf172e2e2817ae5f66c4f

5 years agoFix wrong UUID mask when doing BLE filter scan
Ugo Yu [Mon, 13 Aug 2018 07:02:06 +0000 (00:02 -0700)]
Fix wrong UUID mask when doing BLE filter scan
am: 0443337239

Change-Id: I34f2ec2aee8b68f9b2b33c06629960f2f5ab6a5f

5 years agoFix wrong UUID mask when doing BLE filter scan
Ugo Yu [Mon, 13 Aug 2018 02:12:40 +0000 (10:12 +0800)]
Fix wrong UUID mask when doing BLE filter scan

bug: 112350218
Test: manual
Change-Id: I9e4297b936e7a7db164e7ff3bf680c43600c5bda

5 years agoMerge "Get rid of meaningles GATT client error log" am: 783293824c
Jakub Pawlowski [Thu, 9 Aug 2018 20:18:05 +0000 (13:18 -0700)]
Merge "Get rid of meaningles GATT client error log" am: 783293824c
am: 013a4f4c36

Change-Id: I80e2d68d10e7e562f9d27702e8fa66900fd71b64

5 years agoMerge "Get rid of meaningles GATT client error log"
Jakub Pawlowski [Thu, 9 Aug 2018 20:10:52 +0000 (13:10 -0700)]
Merge "Get rid of meaningles GATT client error log"
am: 783293824c

Change-Id: I88469907c05719ca895a1d2bd1345b15b9adad47

5 years agoMerge "Get rid of meaningles GATT client error log"
Treehugger Robot [Thu, 9 Aug 2018 20:00:19 +0000 (20:00 +0000)]
Merge "Get rid of meaningles GATT client error log"

5 years agoGet rid of meaningles GATT client error log
Jakub Pawlowski [Thu, 9 Aug 2018 07:24:41 +0000 (09:24 +0200)]
Get rid of meaningles GATT client error log

Right now we often get this error in logs:

E bt_btif_gattc: btif_gattc_upstreams_evt: Unhandled event (7)!

This is often misinterpreted during log analysis as error, where this
really means just uninteresting event we don't want to handle.

Change-Id: Ia7804b2e1802a117198a31e025d05a80f973e896

5 years agoMerge changes from topic "avrcp_controller_timer" am: f257e0f212
Joseph Pirozzo [Wed, 8 Aug 2018 23:26:16 +0000 (16:26 -0700)]
Merge changes from topic "avrcp_controller_timer" am: f257e0f212
am: 575fa68bef

Change-Id: Ifeb2eab5b34157e0da7f3d7aa1bf7de9c20e2e0e

5 years agoAVRCP Controller metadata feature am: c5232a8bf7
Joseph Pirozzo [Wed, 8 Aug 2018 23:25:44 +0000 (16:25 -0700)]
AVRCP Controller metadata feature am: c5232a8bf7
am: b70218b6d0

Change-Id: Iff13ceb2d145f0d3eb901b6282a16302627f5139

5 years agoMerge changes from topic "avrcp_controller_timer"
Joseph Pirozzo [Wed, 8 Aug 2018 23:16:21 +0000 (16:16 -0700)]
Merge changes from topic "avrcp_controller_timer"
am: f257e0f212

Change-Id: If45454464420f71d0c62eb3a9ac84befdee87cd8

5 years agoAVRCP Controller metadata feature
Joseph Pirozzo [Wed, 8 Aug 2018 23:15:54 +0000 (16:15 -0700)]
AVRCP Controller metadata feature
am: c5232a8bf7

Change-Id: I01b9e396a7e81a325487b98e1be79a68101e4898

5 years agoMerge changes from topic "avrcp_controller_timer"
Joseph Pirozzo [Wed, 8 Aug 2018 23:01:21 +0000 (23:01 +0000)]
Merge changes from topic "avrcp_controller_timer"

* changes:
  Reduce Media State change callbacks
  AVRCP Controller metadata feature

5 years agoReorder static libs to appease ld.gold linker am: 9f8b1301ad
Pirama Arumuga Nainar [Wed, 8 Aug 2018 18:02:04 +0000 (11:02 -0700)]
Reorder static libs to appease ld.gold linker am: 9f8b1301ad
am: 8438a6350a

Change-Id: Ie2f2bbaee6ebe0b4ceb2b8108612a6b30088884c

5 years agoReorder static libs to appease ld.gold linker
Pirama Arumuga Nainar [Wed, 8 Aug 2018 17:37:25 +0000 (10:37 -0700)]
Reorder static libs to appease ld.gold linker
am: 9f8b1301ad

Change-Id: I704fd5b499564a35daf588724aaec8845b9370f3

5 years agoMerge Android Pie into master am: 187c80870b
Xin Li [Wed, 8 Aug 2018 02:07:12 +0000 (19:07 -0700)]
Merge Android Pie into master am: 187c80870b
am: 6ae9abefc4

Change-Id: Ic5e85e2ce25d88168c74154e7e1f46cd23aff1bb

5 years agoReduce Media State change callbacks
Joseph Pirozzo [Fri, 3 Aug 2018 15:25:19 +0000 (08:25 -0700)]
Reduce Media State change callbacks

Eliminate the 2 second timer and only update media state when it
changes.

Bug: 28917369
Test: Play music, pause and change its position observe status is
correct.

Change-Id: Iaf17e8cde570651706c55603b01c5100d4c60aa4

5 years agoMerge Android Pie into master
Xin Li [Tue, 7 Aug 2018 22:38:31 +0000 (15:38 -0700)]
Merge Android Pie into master
am: 187c80870b

Change-Id: I47c453e8c8551c66c27dbbf9d4922c31b8d8552a

5 years agoReorder static libs to appease ld.gold linker
Pirama Arumuga Nainar [Tue, 7 Aug 2018 21:43:20 +0000 (14:43 -0700)]
Reorder static libs to appease ld.gold linker

Bug: http://b/112277682
Bug: http://b/79419131

Lld, which is the default linker for the platform, is able to resolve
symbols across libraries irrespective of the order they appear in the
command line.  This was not the case for ld.gold and other linkers.
Unfortunately, there are some targets that still rely on ld.gold
(pgo-taimen-config1 in internal release branch being one of
them).

With http://aosp/721652, libbt-stack should be added before libbt-common
so MessageLoopThread::~MessageLoopThread is resolved correctly.  If not,
the following error is reported by gold:

system/bt/stack/btu/btu_init.cc:41: error: undefined reference to
'bluetooth::common::MessageLoopThread::MessageLoopThread(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&)'

Test: m USE_CLANG_LLD=false
Change-Id: I9c8208218ffb4bb027ad75b51bcd484e9bb37368

5 years agoAVRCP Controller metadata feature
Joseph Pirozzo [Tue, 7 Aug 2018 19:28:40 +0000 (12:28 -0700)]
AVRCP Controller metadata feature

Process the METADATA feature flag separately from the VENDOR feature
flag to ensure it doesn't get overwritten.

Bug: 110039732
Test: connect avrcp from phone verify getCapabilities events supported
is sent.

Change-Id: Ib5d54c13d6c912904f20e8760f1632fa5737b98f

5 years agoMerge Android Pie into master
Xin Li [Mon, 6 Aug 2018 23:52:40 +0000 (16:52 -0700)]
Merge Android Pie into master

Bug: 112104996
Change-Id: I242b3c68bcb25f29f8e979487f507a0585f1a8ae

5 years agoFix bad constructor usage in HearingDevice am: 897a734a47
Jakub Pawlowski [Mon, 6 Aug 2018 18:05:59 +0000 (11:05 -0700)]
Fix bad constructor usage in HearingDevice am: 897a734a47
am: 265e82f00c

Change-Id: If75b1cadedcb601d3d5d3ddd77f0f5539a59ba3d

5 years agoFix bad constructor usage in HearingDevice
Jakub Pawlowski [Mon, 6 Aug 2018 18:00:14 +0000 (11:00 -0700)]
Fix bad constructor usage in HearingDevice
am: 897a734a47

Change-Id: I859ce7751ee787fcbf9b5e46f07690a28fa91a1f

5 years agoFix bad constructor usage in HearingDevice
Jakub Pawlowski [Mon, 6 Aug 2018 13:48:57 +0000 (15:48 +0200)]
Fix bad constructor usage in HearingDevice

Bug: 112135987
Test: compilation
Change-Id: Ifaf0189f512ef2abdc7179bda5d6ff1e291fde54

5 years agoBuild: Disable host_supported for cc_benchmark am: 58b49f8c5d
Jack He [Fri, 3 Aug 2018 08:39:11 +0000 (01:39 -0700)]
Build: Disable host_supported for cc_benchmark am: 58b49f8c5d
am: 712a461e11

Change-Id: Ib45de2656828817b8c2ab2c3005734f8c0939001

5 years agoBuild: Disable host_supported for cc_benchmark
Jack He [Fri, 3 Aug 2018 08:34:36 +0000 (01:34 -0700)]
Build: Disable host_supported for cc_benchmark
am: 58b49f8c5d

Change-Id: I1614d74f1f6980623ef38f00be4a1024a7f8e306

5 years agoBuild: Disable host_supported for cc_benchmark
Jack He [Fri, 3 Aug 2018 07:40:56 +0000 (00:40 -0700)]
Build: Disable host_supported for cc_benchmark

* host_supported is broken in cc_benchmark on Mac

Bug: 77585931
Test: make
Change-Id: I2d2b4d52a108f90e3ce2d9c8c9f5510918f1fcff

5 years agoUse MessageLoopThread in A2DP source, JNI, BTA, HCI and module bring-up am: 6d110527c8
Jack He [Thu, 2 Aug 2018 21:28:53 +0000 (14:28 -0700)]
Use MessageLoopThread in A2DP source, JNI, BTA, HCI and module bring-up am: 6d110527c8
am: dd093c9f47

Change-Id: I7daaa4ef57b033ac76f285f973702f88c6c06203

5 years agoAdd MessageLoopThread, ExecutionBarrier, and performance tests am: c27d25789b
Jack He [Thu, 2 Aug 2018 21:28:27 +0000 (14:28 -0700)]
Add MessageLoopThread, ExecutionBarrier, and performance tests am: c27d25789b
am: 73cb246f9c

Change-Id: Iba4d02376d4b36edaac77b6b99e35cf4176cec52

5 years agoUse MessageLoopThread in A2DP source, JNI, BTA, HCI and module bring-up
Jack He [Thu, 2 Aug 2018 21:24:47 +0000 (14:24 -0700)]
Use MessageLoopThread in A2DP source, JNI, BTA, HCI and module bring-up
am: 6d110527c8

Change-Id: I1093576b83d19cac3a11ff4d81173d97604d2a4d

5 years agoAdd MessageLoopThread, ExecutionBarrier, and performance tests
Jack He [Thu, 2 Aug 2018 21:24:00 +0000 (14:24 -0700)]
Add MessageLoopThread, ExecutionBarrier, and performance tests
am: c27d25789b

Change-Id: I040d328e642b351420f9a1f4eb35e6c0dc09a74e

5 years agoUse MessageLoopThread in A2DP source, JNI, BTA, HCI and module bring-up
Jack He [Thu, 26 Jul 2018 04:43:01 +0000 (21:43 -0700)]
Use MessageLoopThread in A2DP source, JNI, BTA, HCI and module bring-up

* Replace OSI thread with MessageLoopThread in
  - btif_a2dp_source (A2DP encoding thread)
  - btif_core (JNI thread)
  - btu_init (BTA thread)
  - hci_layer (HCI thread)
  - module (module bring up thread)
  - various unit test threads
* Code that uses reactor from OSI thread is not replaced in this change
  because they need to move from using reactor to message loop first
* Main difference:
  - HCI layer no longer has access to mutex protecting message loop
    set up and tear down. Messages posted to thread after ShutDown()
    is called become no-op
  - In all cases QuitClosure() is used instead of QuitWhenIdleClosure().
    This means that we will never force kill a thread. An infinite loop
    will delay the shutdown of Bluetooth stack.
* do_in_hci_thread is actually do_in_bta_thread
* Move the definition of do_in_bta_thread from bta to btu since btu is
  where the thread actually lives
* Remove bta_closure_api.h and replace it with stack/include/btu.h
* Remove header inclusion in bta_sys.h and include stack/include/btu.h
  in individual compilation units
* Fixed a bug in btif_cleanup_bluetooth where btif_jni_disassociate()
  was not called on the JNI thread
* Make setting real time priority a requirement
* Crash during the following scenario:
  - When btif_profile_queue cleanup failed to be scheduled on JNI thread
  - When A2DP encoder thread failed to gain real time priority
  - When BTA thread failed to start up
  - When BTA thread failed to gain real time priority
  - When BTA thread failed to schedule its first callback
* Turn off Bluetooth in the following scenario:
  - When HCI thread failed to gain real time priority
  - When bt_workqueue thread failed to gain real time priority

Bug: 110303473
Test: make, native and Java unit tests,
      Connect to headset and listen to music through A2DP,
      testplans/details/184455/3975
Change-Id: Ib448992fc0ba5af82c2d117dd65f1abd45d2acb6

5 years agoAdd MessageLoopThread, ExecutionBarrier, and performance tests
Jack He [Wed, 25 Jul 2018 19:02:22 +0000 (12:02 -0700)]
Add MessageLoopThread, ExecutionBarrier, and performance tests

* Add MessageLoopThread to abstract thread implementation to our code
* Add ExecutionBarrier utility class to help with thread synchronization
* Add more performance tests and performance benchmarks to evaluate
  execution efficiency in both batch and sequential usages, for various
  thread implementations including:
  - libosi reactor on pthread
  - MessageLoop on libosi reactor on pthread
  - MessageLoop on STL std::thread
  - MessageLoop on Posix pthread
  - MessageLoop on libchrome base::Thread
  - MessageLoop on MessageLoopThread

Bug: 110303473
Test: make, native and Java unit tests,
      test/run_benchmarks.sh net_benchmark_thread_performance,
      test/run_unit_tests.sh net_test_performance,
      test/run_unit_tests.sh bluetooth_test_common,
      testplans/details/184455/3975
Change-Id: I5b4ce2ee910a0f1d2edf95e0296916dea04d3f89

5 years agoMerge "Add security handling for LE connection oriented channels" am: fc53a1fcba
Venkata Jagadeesh [Wed, 1 Aug 2018 18:58:45 +0000 (11:58 -0700)]
Merge "Add security handling for LE connection oriented channels" am: fc53a1fcba
am: c348d45dd2

Change-Id: Id1c17e86b21ba68c0cf1d8b019ad1dbece4b79b3

5 years agoMerge "Add security handling for LE connection oriented channels"
Venkata Jagadeesh [Wed, 1 Aug 2018 18:53:41 +0000 (11:53 -0700)]
Merge "Add security handling for LE connection oriented channels"
am: fc53a1fcba

Change-Id: Ibba4bdb0f337d743a7148d49a1ad23eb2f8a8b5e

5 years agoMerge "Add security handling for LE connection oriented channels"
Treehugger Robot [Wed, 1 Aug 2018 18:38:10 +0000 (18:38 +0000)]
Merge "Add security handling for LE connection oriented channels"

5 years agoFix for Bluetooth device name is resetting to default name after reboot am: f589e45a3c
Aiswarya Cyriac [Tue, 31 Jul 2018 23:36:02 +0000 (16:36 -0700)]
Fix for Bluetooth device name is resetting to default name after reboot am: f589e45a3c
am: 0391cb76a8

Change-Id: I6c46801a5595db8bb5a5786ce1d70a2bbbea4289

5 years agoFix for Bluetooth device name is resetting to default name after reboot
Aiswarya Cyriac [Tue, 31 Jul 2018 23:32:00 +0000 (16:32 -0700)]
Fix for Bluetooth device name is resetting to default name after reboot
am: f589e45a3c

Change-Id: I313af6b96913b72fc140c7873c1952f24b75c12a

5 years agoAdd security handling for LE connection oriented channels
Venkata Jagadeesh [Fri, 18 Mar 2016 06:34:30 +0000 (12:04 +0530)]
Add security handling for LE connection oriented channels

Use case:
Run PTS test cases TP/LE/CFC/BV-10-C to BV-16-C

Steps:
1. These test cases executed with two DUT as PTS support not available
2. Set desired security level on DUT and Remote with tool
3. Initiate LE COC connection request from DUT

Failure:
LE COC connection accepted though even remote security are not met.

Fix:
Added security handling for COC connection

Test: Ran sl4a test for BleCocTest
Change-Id: I5f6385d462698582e701b5a07953c0ccb932bbbf

5 years agoFix for Bluetooth device name is resetting to default name after reboot
Aiswarya Cyriac [Mon, 23 Jul 2018 09:47:48 +0000 (15:17 +0530)]
Fix for Bluetooth device name is resetting to default name after reboot

Reason: When the BT device name is updated is getting saved to the
config data pointer but not to the persistent data (i.e. bt_config.conf).
So, when the reboot is happening it is not able to get the updated device
name from the persistent data (i.e. bt_config.conf) as during reboot
bt_config_flush is not called.

Fix: Saving the BT Device name to persistent data using btif_config_flush
once it is set.

Test: Manual Reboot test
Bug: 110301897
Change-Id: Ie329b475eaaf208ed667f27e271a00e230e4b95c
Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@intel.com>
Signed-off-by: Gaganpreet kaur <gaganpreetx.kaur@intel.com>
5 years agoMerge "Set Browsed Player memory allocation" am: 0b610a13c2
Joseph Pirozzo [Mon, 30 Jul 2018 20:55:36 +0000 (13:55 -0700)]
Merge "Set Browsed Player memory allocation" am: 0b610a13c2
am: f00f987890

Change-Id: Ic47aa119fc8a55459d50e95dce1f53e4cf03cc3d

5 years agoMerge "Set Browsed Player memory allocation"
Joseph Pirozzo [Mon, 30 Jul 2018 20:42:22 +0000 (13:42 -0700)]
Merge "Set Browsed Player memory allocation"
am: 0b610a13c2

Change-Id: I7e432dd8dcc8e389807998e2f07d368414412dd1

5 years agoMerge "Set Browsed Player memory allocation"
Joseph Pirozzo [Mon, 30 Jul 2018 20:31:00 +0000 (20:31 +0000)]
Merge "Set Browsed Player memory allocation"

6 years agoAdd additional checks for AVDTP Codec Capabilities am: 3c5cef21d3
Pavlin Radoslavov [Fri, 27 Jul 2018 23:58:33 +0000 (16:58 -0700)]
Add additional checks for AVDTP Codec Capabilities am: 3c5cef21d3
am: 2e50343f83

Change-Id: I18a233197d918a7f14a6d2cc34e5ebe9633f2266

6 years agoAdd additional checks for AVDTP Codec Capabilities
Pavlin Radoslavov [Fri, 27 Jul 2018 23:54:27 +0000 (16:54 -0700)]
Add additional checks for AVDTP Codec Capabilities
am: 3c5cef21d3

Change-Id: If9ab310626b5acb2364a2403ba831de3021b5ce2

6 years agoSet Browsed Player memory allocation
Joseph Pirozzo [Fri, 27 Jul 2018 18:08:17 +0000 (11:08 -0700)]
Set Browsed Player memory allocation

When setting a browsed player memory for folder depth was incorrectly
allocated based on folder item count not depth.

Bug: 111370532
Test: Set a browsed player that has a depth greater than item count.
Change-Id: I6984c5852f623e7e9478429bdab3dcbcf57196e0

6 years agoAdd additional checks for AVDTP Codec Capabilities
Pavlin Radoslavov [Thu, 26 Jul 2018 02:03:09 +0000 (19:03 -0700)]
Add additional checks for AVDTP Codec Capabilities

Reject AVDTP Codec Capabilities that contain invalid fields

Bug: 110918549
Test: Manual - connect to a device that sends invalid codec capability
Change-Id: Ib697cc9ad13ed666fbafa9219447592fe3f56684

6 years agoMerge "Swap order of registered/status in RegisterForNotificationCallback" am: 95d0798e7f
Bailey Forrest [Wed, 25 Jul 2018 00:58:21 +0000 (17:58 -0700)]
Merge "Swap order of registered/status in RegisterForNotificationCallback" am: 95d0798e7f
am: 7df7076194

Change-Id: I16e3e89c8935d1da5ffc470b3d7e686bd05d8dc5

6 years agoMerge "Swap order of registered/status in RegisterForNotificationCallback"
Bailey Forrest [Wed, 25 Jul 2018 00:55:15 +0000 (17:55 -0700)]
Merge "Swap order of registered/status in RegisterForNotificationCallback"
am: 95d0798e7f

Change-Id: Ibe4f75b8eb8b50dd9aaa105bdbafe766bedb8ed4

6 years agoMerge "Swap order of registered/status in RegisterForNotificationCallback"
Treehugger Robot [Wed, 25 Jul 2018 00:45:53 +0000 (00:45 +0000)]
Merge "Swap order of registered/status in RegisterForNotificationCallback"

6 years agoMerge "Enable 2-EV3 packets for Wide Band HFP client" am: 503067b5f8
Joseph Pirozzo [Wed, 25 Jul 2018 00:44:24 +0000 (17:44 -0700)]
Merge "Enable 2-EV3 packets for Wide Band HFP client" am: 503067b5f8
am: f041e2ada5

Change-Id: I1c323cc063239a010a8b37478b901e486437d18d

6 years agoMerge "Use appropriate Tx time in BLE Set Data length command" am: 135c7bc70c
Subramanian Srinivasan [Wed, 25 Jul 2018 00:43:51 +0000 (17:43 -0700)]
Merge "Use appropriate Tx time in BLE Set Data length command" am: 135c7bc70c
am: 125c1d8bb9

Change-Id: If16acac34d6500c7f45900e261b6247f423e41d5

6 years agoMerge "Enable 2-EV3 packets for Wide Band HFP client"
Joseph Pirozzo [Wed, 25 Jul 2018 00:40:58 +0000 (17:40 -0700)]
Merge "Enable 2-EV3 packets for Wide Band HFP client"
am: 503067b5f8

Change-Id: Ib1e98cd9888ec9e5ff2da8a8114a6c24d4813cfc

6 years agoMerge "Use appropriate Tx time in BLE Set Data length command"
Subramanian Srinivasan [Wed, 25 Jul 2018 00:40:34 +0000 (17:40 -0700)]
Merge "Use appropriate Tx time in BLE Set Data length command"
am: 135c7bc70c

Change-Id: Iafa186226b9ca38f71958de68055fe594bfac557

6 years agoMerge "Enable 2-EV3 packets for Wide Band HFP client"
Joseph Pirozzo [Wed, 25 Jul 2018 00:38:12 +0000 (00:38 +0000)]
Merge "Enable 2-EV3 packets for Wide Band HFP client"

6 years agoMerge "Use appropriate Tx time in BLE Set Data length command"
Treehugger Robot [Wed, 25 Jul 2018 00:33:00 +0000 (00:33 +0000)]
Merge "Use appropriate Tx time in BLE Set Data length command"

6 years agoMake PROPERTY_PRODUCT_MODEL device configurable am: 19e728b9d2
Fen Wang [Wed, 25 Jul 2018 00:22:28 +0000 (17:22 -0700)]
Make PROPERTY_PRODUCT_MODEL device configurable am: 19e728b9d2
am: 367508d227

Change-Id: I4d3fc8df174c0cd508b305225fb0d41412582df6

6 years agoMake PROPERTY_PRODUCT_MODEL device configurable
Fen Wang [Wed, 25 Jul 2018 00:12:23 +0000 (17:12 -0700)]
Make PROPERTY_PRODUCT_MODEL device configurable
am: 19e728b9d2

Change-Id: I5f25b8a07749e3c3eb7fed3fd4415fac3490c7b5

6 years agoSwap order of registered/status in RegisterForNotificationCallback
Bailey Forrest [Wed, 1 Mar 2017 19:27:05 +0000 (11:27 -0800)]
Swap order of registered/status in RegisterForNotificationCallback

It's confusing how the order is inconsistent with the one defined in
hardware/libhardware/include/hardware/bt_gatt_client.h

Test: Build. Right now no code uses these functions.

Change-Id: I04b93ba74555455fd981a3809ea3e0bfffca4696

6 years agoUse appropriate Tx time in BLE Set Data length command
Subramanian Srinivasan [Thu, 15 Mar 2018 22:58:20 +0000 (15:58 -0700)]
Use appropriate Tx time in BLE Set Data length command

Fixes Tx time parameter in HCI LE set data length command
depending on HCI versions supported by controller.

Bug: 110373079
Change-Id: I83cc4c41ca4c2b6470ec30057717946b1d7fe329

6 years agoMake PROPERTY_PRODUCT_MODEL device configurable
Fen Wang [Tue, 10 Apr 2018 03:41:34 +0000 (12:41 +0900)]
Make PROPERTY_PRODUCT_MODEL device configurable

Make it possible to set PROPERTY_PRODUCT_MODEL in device configuration.

Bug:
Change-Id: I4d34d4ec368f7eb8bd50e2d5431bb120a284f4e3

6 years agoMerge "Ignore SDP failure while bonding if SDP was not attempted" am: 62fee1a223
Cheney Ni [Tue, 24 Jul 2018 04:35:35 +0000 (21:35 -0700)]
Merge "Ignore SDP failure while bonding if SDP was not attempted" am: 62fee1a223
am: 2679201348

Change-Id: Ia6aaf670dc356c33cbb045138fcba8a3d3219872

6 years agoMerge "Ignore SDP failure while bonding if SDP was not attempted"
Cheney Ni [Tue, 24 Jul 2018 04:31:32 +0000 (21:31 -0700)]
Merge "Ignore SDP failure while bonding if SDP was not attempted"
am: 62fee1a223

Change-Id: Iae385d9feca203640c00ab93a8199d3dc3f85fa1

6 years agoMerge "Ignore SDP failure while bonding if SDP was not attempted"
Treehugger Robot [Tue, 24 Jul 2018 04:21:40 +0000 (04:21 +0000)]
Merge "Ignore SDP failure while bonding if SDP was not attempted"