OSDN Git Service

android-x86/system-bt.git
4 years agoRemove direct connection after notifying the connection up
weichinweng [Thu, 8 Aug 2019 09:30:07 +0000 (17:30 +0800)]
Remove direct connection after notifying the connection up

After notifying the connection up, remove direct connection related with
this device to make sure no client is directly connecting the device in
connection_manager.

Bug: 138819537
Test: 1. Repair BLE device 2. Reconnect BLE deivce
3. reboot DUT, make sure Hearing Aid can be connected.

Change-Id: I30ff7c47445ec2a3dbd9702ca79873063210e6df

4 years agoFix CoC not being able to establish first connection
Jakub Pawlowski [Mon, 5 Aug 2019 18:28:22 +0000 (20:28 +0200)]
Fix CoC not being able to establish first connection

When establishing conenction, we must know address type of the device we
connect to. We learn it during scan. We store this information in BTIF
layer, and later copy it into BTM if someone tries to make connection.

CoC code was not copying address type information between layers. This
caused us to use bad address type, which resulted in no connection being
created.

This patch fixes the issue, by making sure address type is properly
copied from BTIF into BTM

Test: acts BleCocTest
Bug: 133444088
Change-Id: I08609d92df245649882ad0b186a6080bff61a96e

4 years agoMerge "Hearing Aid: Remove std::promise from suspend / resume calls, and stop audio...
Treehugger Robot [Mon, 5 Aug 2019 06:06:39 +0000 (06:06 +0000)]
Merge "Hearing Aid: Remove std::promise from suspend / resume calls, and stop audio ticks by no devices"

4 years agoModify log format
Jakub Pawlowski [Thu, 1 Aug 2019 17:39:50 +0000 (19:39 +0200)]
Modify log format

Always log file name and line number.
Instead of __PRETTY_FUNC_ use __func__ and log just the function name.
Logging full name with namespace, return value and parameters produces
unreadable gibberish.

This makes it easier to map log line to line that produced it.

Test: compile, look through the logs.
Change-Id: I3a72e8e498ded604fe61179191f1bc98b44c6a5c

4 years agoRootcanal: Allow using TCP port when TIME_WAIT
Hansong Zhang [Thu, 1 Aug 2019 01:04:25 +0000 (18:04 -0700)]
Rootcanal: Allow using TCP port when TIME_WAIT

Test: cert/run_cert.sh
Change-Id: I473add448fcd167f6e33b34281298c69a831d733

4 years agoL2CAP: Add L2CAP Module
Jack He [Wed, 31 Jul 2019 22:44:05 +0000 (15:44 -0700)]
L2CAP: Add L2CAP Module

* Add an empty L2CAP module
* Add facades for L2CAP module
* Add cert facades for L2CAP module
* Add SimpleL2CapTest to run_cert.sh

Test: cert/run_cert.h
Change-Id: I00b3fe1bfb6e72dbbf1ca441ceed7dd4d62afb26

4 years agoMerge "AVRCP Controller Shuffle/Repeat support"
Joseph Pirozzo [Wed, 31 Jul 2019 21:27:26 +0000 (21:27 +0000)]
Merge "AVRCP Controller Shuffle/Repeat support"

4 years agoHCI: Use futures to wait for packets in tests
Myles Watson [Thu, 25 Jul 2019 23:28:35 +0000 (16:28 -0700)]
HCI: Use futures to wait for packets in tests

Test: bluetooth_gd_test on a device
Change-Id: I3e61b83df47204380398646350b90c3f63734bca

4 years agoAVRCP Controller Shuffle/Repeat support
Joseph Pirozzo [Fri, 26 Jul 2019 19:26:01 +0000 (12:26 -0700)]
AVRCP Controller Shuffle/Repeat support

Fetch player settings when the addressed player changes.

Bug: 72495707
Test: AvrcpControllerStateMachineTest#testShuffle
      AvrcpControllerStateMachineTest#testRepeat

Change-Id: I4df1f130dafb96708ec7a0a2c13c776affcc6318

4 years agoMerge "HCI: Print unhandled event type"
Treehugger Robot [Fri, 26 Jul 2019 05:07:25 +0000 (05:07 +0000)]
Merge "HCI: Print unhandled event type"

4 years agoHCI: Print unhandled event type
Myles Watson [Thu, 25 Jul 2019 22:52:55 +0000 (15:52 -0700)]
HCI: Print unhandled event type

Test: send unhandled event
Change-Id: Iafdf004609cae4e15861664eb8e430e263655250

4 years agoCert: Run on device
Hansong Zhang [Wed, 24 Jul 2019 22:21:23 +0000 (15:21 -0700)]
Cert: Run on device

Add a sample device_config.json to allow cert testing on device.

1. Fill in Android device serial number in device_config.json.
2. Build device target for libbluetooth_gd, libgrpc++_unsecure,
stack_with_facade, and bluetooth_cert_stack. Push them to the device
under /system/lib64 and /system/bin correspondingly.
3. Set up Android tcp forward and reverse
   - For DUT:
     adb -s <DUT> forward tcp:8899 tcp:8899
     adb -s <DUT> forward tcp:8897 tcp:8897
     adb -s <DUT> reverse tcp:8895 tcp:8895 <- host is the server
   - For CERT:
     adb -s <DUT> forward tcp:8898 tcp:8898
     adb -s <DUT> forward tcp:8896 tcp:8896
     adb -s <DUT> reverse tcp:8894 tcp:8884 <- Host is the server
4. Run cert/run_device_cert.sh

Bug: 138260216
Test: cert/run_device_cert.sh
Change-Id: Ic2921a31910e370d86c4aa4143e92b5b15d8a1e8

4 years agoMerge "HCI: Wait for commands using std::future"
Treehugger Robot [Thu, 25 Jul 2019 19:23:30 +0000 (19:23 +0000)]
Merge "HCI: Wait for commands using std::future"

4 years agoMerge "HAL cert and facade: Unregister HCI on shutdown"
Treehugger Robot [Thu, 25 Jul 2019 17:27:54 +0000 (17:27 +0000)]
Merge "HAL cert and facade: Unregister HCI on shutdown"

4 years agoHCI: Wait for commands using std::future
Myles Watson [Wed, 24 Jul 2019 19:59:01 +0000 (12:59 -0700)]
HCI: Wait for commands using std::future

Test: bluetooth_test_gd --gtest_filter=*AclMan* on a device
Change-Id: I915242546efdfaf6553e36cbe19a37290435991b

4 years agoMerge "OS: Account for enqueue/dequeue race"
Treehugger Robot [Thu, 25 Jul 2019 13:23:38 +0000 (13:23 +0000)]
Merge "OS: Account for enqueue/dequeue race"

4 years agoOS: Account for enqueue/dequeue race
Myles Watson [Wed, 24 Jul 2019 00:17:47 +0000 (17:17 -0700)]
OS: Account for enqueue/dequeue race

Test: on-device: bluetooth_test_gd --gtest_filter=*Queue*
Change-Id: I3429e35ebd9a98f1054e40e9507995daeae35c65

4 years agoMerge "PDL: Use GenBounds for Structs"
Treehugger Robot [Thu, 25 Jul 2019 06:19:27 +0000 (06:19 +0000)]
Merge "PDL: Use GenBounds for Structs"

4 years agoPDL: Use GenBounds for Structs
Myles Watson [Wed, 24 Jul 2019 22:52:33 +0000 (15:52 -0700)]
PDL: Use GenBounds for Structs

Test: bluetooth_packet_parser_test
Change-Id: Ibb6e7bd441b8fd19f17818dc74ac4aff10b519a4

4 years agoHAL cert and facade: Unregister HCI on shutdown
Hansong Zhang [Wed, 24 Jul 2019 22:33:35 +0000 (15:33 -0700)]
HAL cert and facade: Unregister HCI on shutdown

Test: cert/run_cert.sh
Change-Id: I730b26ec7a15f4ec539c42e16a774c442be93ac9

5 years agoMerge "Support vendor AT command and response for Hfp Client in bt stack"
Deqiang Chen [Wed, 24 Jul 2019 21:04:55 +0000 (21:04 +0000)]
Merge "Support vendor AT command and response for Hfp Client in bt stack"

5 years agoCert signal server: Use TCP instead of UNIX socket
Hansong Zhang [Wed, 24 Jul 2019 16:29:07 +0000 (09:29 -0700)]
Cert signal server: Use TCP instead of UNIX socket

Since we want to run the stacks on the phone, we need to use TCP socket
and set up TCP forwarding to run the test.

Test: cert/run_cert.sh
Change-Id: I3fd6c17318d372ab0be4065df4aea2a5bb469ab3

5 years agoMerge "PDL: Add Structs"
Jakub Pawlowski [Wed, 24 Jul 2019 07:40:21 +0000 (07:40 +0000)]
Merge "PDL: Add Structs"

5 years agoHearing Aid: Remove std::promise from suspend / resume calls, and stop audio ticks...
Cheney Ni [Wed, 10 Jul 2019 08:24:31 +0000 (16:24 +0800)]
Hearing Aid: Remove std::promise from suspend / resume calls, and stop audio ticks by no devices

The Hearing Aid uses the stack main thread to be the media task thread.
This thread handles events / feeds audio data sequentially, and won't
have a race condition within the single thread. The promise is a bit
redundant, but wasted time to cause a potential deadlock that the caller
waits for the task thread finished which needed the caller's resource.

This CL also stops the audio ticks when no devices available, and no
need to wait for next timer expired. Besides, move all timer controls
into the media task thread, so timer is started / stopped at the same
thread, too.

Bug: 134996542
Test: add big delay within functions, and check no abnormal manually
Change-Id: If0b279a191d86b30db41a682dc7f0ad9470cb10e

5 years agoMerge "OS: Get promise before registering in tests"
Treehugger Robot [Wed, 24 Jul 2019 02:38:30 +0000 (02:38 +0000)]
Merge "OS: Get promise before registering in tests"

5 years agoPDL: Add Structs
Myles Watson [Wed, 6 Feb 2019 22:02:36 +0000 (14:02 -0800)]
PDL: Add Structs

Test: bluetooth_packet_parser_test
Change-Id: I2d0288aa4e62589dd03d93a1b47ce0585584cab5

5 years agoOS: Get promise before registering in tests
Myles Watson [Wed, 24 Jul 2019 00:10:11 +0000 (17:10 -0700)]
OS: Get promise before registering in tests

https://cplusplus.github.io/LWG/issue2412

Test: on-device: bluetooth_test_gd --gtest_filter=*Queue*
Change-Id: I2603763ea6c9197ed56f741b2beb100c1a9b8e19

5 years agoMerge "OS: Use LOG_ALWAYS_FATAL for Android"
Treehugger Robot [Tue, 23 Jul 2019 23:50:38 +0000 (23:50 +0000)]
Merge "OS: Use LOG_ALWAYS_FATAL for Android"

5 years agoMerge "Split ARRAY into fixed size ARRAY and VECTOR"
Treehugger Robot [Tue, 23 Jul 2019 22:24:12 +0000 (22:24 +0000)]
Merge "Split ARRAY into fixed size ARRAY and VECTOR"

5 years agoOS: Use LOG_ALWAYS_FATAL for Android
Myles Watson [Tue, 23 Jul 2019 20:35:40 +0000 (13:35 -0700)]
OS: Use LOG_ALWAYS_FATAL for Android

Test: bluetooth_test_gd --gtest_filter=*Death*
Change-Id: I0aa4e85a7fd000eb90c65c51d3ac372634583c69

5 years agoSplit ARRAY into fixed size ARRAY and VECTOR
Jakub Pawlowski [Fri, 19 Jul 2019 12:51:50 +0000 (14:51 +0200)]
Split ARRAY into fixed size ARRAY and VECTOR

Test: bluetooth_packet_parser_test
Change-Id: I438d7583fdb99054528b99a3a3a12ec58d115cb3

5 years agoRemove unnecessary include_dirs
Paul Duffin [Tue, 23 Jul 2019 09:36:10 +0000 (10:36 +0100)]
Remove unnecessary include_dirs

The header directory specified in the include_dirs property is already
included via the header_libs property.

Test: m avrcp_headers
Change-Id: Id3af155e64127c5bc14a17780fa77a4c6147e5d8

5 years agoMerge "Disable absolute volume for AirPods 2 with MAC address from 9C:64:8B"
Treehugger Robot [Mon, 22 Jul 2019 23:30:41 +0000 (23:30 +0000)]
Merge "Disable absolute volume for AirPods 2 with MAC address from 9C:64:8B"

5 years agoMerge "L2CAP: Cid, Mtu, SignalId type and constant"
Treehugger Robot [Mon, 22 Jul 2019 22:27:55 +0000 (22:27 +0000)]
Merge "L2CAP: Cid, Mtu, SignalId type and constant"

5 years agoPDL: Extract CustomFieldFixedSize
Myles Watson [Fri, 19 Jul 2019 23:07:36 +0000 (16:07 -0700)]
PDL: Extract CustomFieldFixedSize

Test: bluetooth_packet_parser_test
Change-Id: Ia93442ca1cc173d0b6c813a45c722f14d2f34fa0

5 years agoPDL: Add GenExtractor functions to fields
Myles Watson [Tue, 16 Jul 2019 16:50:23 +0000 (09:50 -0700)]
PDL: Add GenExtractor functions to fields

Test: bluetooth_packet_parser_test
Change-Id: I6ee3ae82e8e7949f0fd30dfae6f322dcc4769190

5 years agoPDL: Separate member and parameters for arrays
Myles Watson [Wed, 17 Jul 2019 20:17:24 +0000 (13:17 -0700)]
PDL: Separate member and parameters for arrays

Test: bluetooth_packet_parser_test
Change-Id: I7c23d29548d63f7c1e23281585b10fd9f43bdad4

5 years agoPDL: Factor out insert functions
Myles Watson [Fri, 12 Jul 2019 17:08:34 +0000 (10:08 -0700)]
PDL: Factor out insert functions

Test: bluetooth_packet_parser_test
Change-Id: Ie61fe74705156b3fb6641a001caf070b8deee934

5 years agoPDL: Add non-static methods to checkers
Myles Watson [Mon, 15 Jul 2019 21:39:23 +0000 (14:39 -0700)]
PDL: Add non-static methods to checkers

Test: bluetooth_packet_parser_test
Change-Id: I2c753bce46226b6bd1597293d8077c2cbacc83b1

5 years agoPDL: GetType->GetDataType, GetFieldType->string
Myles Watson [Mon, 15 Jul 2019 22:02:48 +0000 (15:02 -0700)]
PDL: GetType->GetDataType, GetFieldType->string

Test: bluetooth_packet_parser_test
Change-Id: I5891535131778638becd2ef491644c25560ba0a0

5 years agoPDL: Util fixup
Myles Watson [Fri, 12 Jul 2019 22:19:21 +0000 (15:19 -0700)]
PDL: Util fixup

Test: add a type with a large enum value
enum BadType : 4 {
  ZERO = 0,
  ONE = 1,
  TWO = 2,
  THREE = 0xffffff,
}
ERROR: AddEntry: Value of THREE(16777215) is greater than the max possible value for enum BadType(15)
Change-Id: Ieb9920818723a56c9f05342b895c172ee772a2b0

5 years agoPDL: Move GenSerialize and GenSize to ParentDef
Myles Watson [Wed, 10 Jul 2019 17:45:29 +0000 (10:45 -0700)]
PDL: Move GenSerialize and GenSize to ParentDef

Test: bluetooth_packet_parser_test
Change-Id: Ifa748a874ec5a84dea19eb40093b33ac5b6fd9cb

5 years agoMerge "Reset GATT cache file if connection state is unpairing"
Weichin Weng [Mon, 22 Jul 2019 02:04:33 +0000 (02:04 +0000)]
Merge "Reset GATT cache file if connection state is unpairing"

5 years agoL2CAP: Cid, Mtu, SignalId type and constant
Chris Manton [Fri, 19 Jul 2019 20:54:52 +0000 (13:54 -0700)]
L2CAP: Cid, Mtu, SignalId type and constant

Test: bluetooth_test_gd
Change-Id: Iac9c6514467048202136795d08217c7743adac37

5 years agoDisable absolute volume for AirPods 2 with MAC address from 9C:64:8B
Zongheng Wang [Fri, 19 Jul 2019 17:53:25 +0000 (10:53 -0700)]
Disable absolute volume for AirPods 2 with MAC address from 9C:64:8B

Volume of AirPods 2 would be set to maximum when users start to play
audio. Previously we fixed this bug for AirPods 2 with MAC address from
94:16:25(b/129602489). This CL will fix those whose MAC address is from
9C:64:8B.

Bug: 137752614
Test: Played music and videos with AirPods 2
Change-Id: Ic5027e07fc8fade6ce56908a3bcc51e42ffb8d0b

5 years agoPDL: Add missing "pragma once"
Hansong Zhang [Fri, 19 Jul 2019 00:35:50 +0000 (17:35 -0700)]
PDL: Add missing "pragma once"

Test: make
Change-Id: Ibd25e1d275e9910f11658d7a7d1c5761354eb7ee

5 years agoSupport vendor AT command and response for Hfp Client in bt stack
Deqiang Chen [Fri, 21 Jun 2019 22:02:07 +0000 (15:02 -0700)]
Support vendor AT command and response for Hfp Client in bt stack

Add necessary interface in system/bt to support sending vendor AT
command. Also passing unknow events(vendor specific events) up for
further processing.

Bug: 132813146

Test: local test with kichensink to send vendor at command and receive
response. Also run unit test
atest BluetoothHeadsetClientStateMachineTest

Change-Id: Id460eaf00be269d15e6baf0fd30bdbf8e57df78d

5 years agoObserver Registry
Hansong Zhang [Tue, 16 Jul 2019 01:34:34 +0000 (18:34 -0700)]
Observer Registry

Helper for client (observer) to track registration and drop callbacks if
observer is unregistered

Test: bluetooth_test_gd
Change-Id: Icc58d812bccbcb85c8b8142c659503636f498b6a

5 years agoSeparate out l2cap control frame payload data
Chris Manton [Wed, 17 Jul 2019 18:37:27 +0000 (11:37 -0700)]
Separate out l2cap control frame payload data

Test: make -j32
Change-Id: I1c145c05fc444c1dcef169396e636e94fda8cbd0

5 years agoReset GATT cache file if connection state is unpairing
weichinweng [Thu, 18 Jul 2019 08:44:42 +0000 (16:44 +0800)]
Reset GATT cache file if connection state is unpairing

Reset GATT cache for the device if connection state is unpairing, avoid
remaining useless gatt cache file.

Bug: 137697556
Test: Pair/Forget device, and check whether the gatt cache is exist.
Change-Id: I617289b7802a4f03e2910defc419a0bbb0a2aa06

5 years agoMerge "Refresh the encoder configuration of software while updating the MTU"
Treehugger Robot [Tue, 16 Jul 2019 22:19:14 +0000 (22:19 +0000)]
Merge "Refresh the encoder configuration of software while updating the MTU"

5 years agoMerge "Remove libnativehelper/include/nativehelper from include_dirs"
Paul Duffin [Tue, 16 Jul 2019 19:28:48 +0000 (19:28 +0000)]
Merge "Remove libnativehelper/include/nativehelper from include_dirs"

5 years agoRemove libnativehelper/include/nativehelper from include_dirs
Paul Duffin [Tue, 16 Jul 2019 13:37:35 +0000 (14:37 +0100)]
Remove libnativehelper/include/nativehelper from include_dirs

Needed as libnativehelper is part of the runtime module and so will not
be present in an unbundled build, instead its build targets will be
provided as prebuilts.

Bug: 134379140
Test: m checkbuild
Change-Id: Ia3c7261b9b3f0d67a897af03ef6a3e016627b7e6

5 years agoAVDTP: Make sure the UUID of the SCB is initialized before discovering
Cheney Ni [Tue, 16 Jul 2019 12:43:49 +0000 (20:43 +0800)]
AVDTP: Make sure the UUID of the SCB is initialized before discovering

When parsing remote SEP capabilities, we check the UUID value in the AV
SCB to choose the SEP, and this parameter was assigned when AVDTP was
reconnecting from the phone side. This change also assigns the UUID to
make sure the stack can find remote's SEPs correctly when reconnected
by the remote.

Bug: 137631786
Test: make AVDTP reconnection from the peer side
Change-Id: Ib2fa6e76de31bab1131c024e9f76433f3fd8b60a

5 years agoCert: Let EventStream subscribe() block
Hansong Zhang [Wed, 19 Jun 2019 23:45:58 +0000 (16:45 -0700)]
Cert: Let EventStream subscribe() block

In EventStream, let subscribe() and unsubscribe() block. Also simplify
the code.

Test: cert/run_cert.sh
Change-Id: I73eaed21fc77a114c8b678a0c86775f125a35cd1

5 years agoMerge "GD HCI:Wait channel ready after stop/start server"
Treehugger Robot [Thu, 11 Jul 2019 18:11:12 +0000 (18:11 +0000)]
Merge "GD HCI:Wait channel ready after stop/start server"

5 years agoGD HCI:Wait channel ready after stop/start server
Chienyuan [Thu, 11 Jul 2019 06:30:20 +0000 (14:30 +0800)]
GD HCI:Wait channel ready after stop/start server

When running multiple tests, the second test will always fail due to
client send rpc request before channel ready. Add wait_channel_ready
function to GdDeviceBase and use it to check channel ready when each
testcase start.

Bug: 136577370
Test: run run_cert.sh
Change-Id: I708035a21b43bcdef80ef45644205648b08cd074

5 years agoMerge "DO NOT MERGE - Merge pie-platform-release (PPRL.190705.004) into master"
Treehugger Robot [Thu, 11 Jul 2019 03:52:58 +0000 (03:52 +0000)]
Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190705.004) into master"

5 years agoMerge "Add log entry to interop_match_name()"
Andre Eisenbach [Wed, 10 Jul 2019 18:17:10 +0000 (18:17 +0000)]
Merge "Add log entry to interop_match_name()"

5 years agoMerge "ACL manager cert"
Treehugger Robot [Wed, 10 Jul 2019 02:38:58 +0000 (02:38 +0000)]
Merge "ACL manager cert"

5 years agoMerge "PDL: Add variable-size CustomField(s)"
Treehugger Robot [Wed, 10 Jul 2019 00:30:41 +0000 (00:30 +0000)]
Merge "PDL: Add variable-size CustomField(s)"

5 years agoMerge "PDL: Add ParentDef for packets"
Treehugger Robot [Wed, 10 Jul 2019 00:30:13 +0000 (00:30 +0000)]
Merge "PDL: Add ParentDef for packets"

5 years agoMerge "PDL: Move GenInclude and GenUsing to CustomDef"
Treehugger Robot [Wed, 10 Jul 2019 00:26:13 +0000 (00:26 +0000)]
Merge "PDL: Move GenInclude and GenUsing to CustomDef"

5 years agoAdd log entry to interop_match_name()
Andre Eisenbach [Tue, 9 Jul 2019 23:59:41 +0000 (16:59 -0700)]
Add log entry to interop_match_name()

Bug: 137141824
Test: manual
Change-Id: Id59d32b31c8915f008ee85920cebd2a06b50c040

5 years agoMerge "Rootcanal: Implement reject connection request"
Treehugger Robot [Wed, 10 Jul 2019 00:05:59 +0000 (00:05 +0000)]
Merge "Rootcanal: Implement reject connection request"

5 years agoDO NOT MERGE - Merge pie-platform-release (PPRL.190705.004) into master
Xin Li [Tue, 9 Jul 2019 23:54:23 +0000 (16:54 -0700)]
DO NOT MERGE - Merge pie-platform-release (PPRL.190705.004) into master

Bug: 136196576
Change-Id: I0b01b2d05243625f3c4ae1b3326bae88ea6a9f36

5 years agoSwitch Nintendo workaround to match by name
Andre Eisenbach [Mon, 8 Jul 2019 21:49:06 +0000 (14:49 -0700)]
Switch Nintendo workaround to match by name

Bug: 136478524
Test: manual
Change-Id: Ib60cd5adfc4db3ba93fe5ed8c15353225b6cf165

5 years agoPDL: Add variable-size CustomField(s)
Myles Watson [Tue, 2 Jul 2019 19:02:47 +0000 (12:02 -0700)]
PDL: Add variable-size CustomField(s)

Test: bluetooth_packet_parser_test
Change-Id: I88e3dd2ab4804e8b5a0692d005969640cc110b99

5 years agoPDL: Add ParentDef for packets
Myles Watson [Tue, 9 Jul 2019 21:09:42 +0000 (14:09 -0700)]
PDL: Add ParentDef for packets

Factor out logic for holding fields in preparation for
structs.

Test: bluetooth_packet_parser_test
Change-Id: Ic9eb6d5387efe5be439a0d6b222c557b05bd3fa9

5 years agoPDL: Move GenInclude and GenUsing to CustomDef
Myles Watson [Tue, 2 Jul 2019 17:14:47 +0000 (10:14 -0700)]
PDL: Move GenInclude and GenUsing to CustomDef

Test: bluetooth_packet_parser_test
Change-Id: I9ebe10f9d537a254ddd21d62d2c1a23f38e00d0e

5 years agoACL manager cert
Hansong Zhang [Thu, 20 Jun 2019 00:22:21 +0000 (17:22 -0700)]
ACL manager cert

Test: cert/run_cert.sh
Change-Id: I89814224be191fd97a2581b3a36eed67748be7c5

5 years agoRootcanal: Implement reject connection request
Hansong Zhang [Mon, 8 Jul 2019 22:32:26 +0000 (15:32 -0700)]
Rootcanal: Implement reject connection request

Test: manual
Change-Id: I5413cf83f031b6eb2b83b943c6157f845aa40b2d

5 years agoSnap for 5622519 from fef57bda2a3cf2dca83848db5b8e789cb32dac1d to pi-platform-release
android-build-team Robot [Mon, 8 Jul 2019 23:37:32 +0000 (23:37 +0000)]
Snap for 5622519 from fef57bda2a3cf2dca83848db5b8e789cb32dac1d to pi-platform-release

Change-Id: I6e3b65c572808128485a96f58ce863a1619544fc

5 years agoMerge "Match Nintento Pro Controller by name for interop"
Andre Eisenbach [Mon, 8 Jul 2019 20:04:39 +0000 (20:04 +0000)]
Merge "Match Nintento Pro Controller by name for interop"

5 years agoSnap for 5600800 from 2d3cdf31bb8d8452380a3398e57e87f88318a274 to pi-platform-release
android-build-team Robot [Mon, 8 Jul 2019 18:26:18 +0000 (18:26 +0000)]
Snap for 5600800 from 2d3cdf31bb8d8452380a3398e57e87f88318a274 to pi-platform-release

Change-Id: I022653b900c4996c7d78dde1b5b4c66beb729b95

5 years agoMatch Nintento Pro Controller by name for interop
Andre Eisenbach [Mon, 1 Jul 2019 17:48:10 +0000 (10:48 -0700)]
Match Nintento Pro Controller by name for interop

The Nintento Pro Controller uses an unknown number of
BDA ranges (at least 3 found internally). Switching
to name matching...

Bug: 136478524
Test: manual
Change-Id: Ie2dfb700c9550af0c314759ec496a04a8e1aa062

5 years agoMerge "GD:Wait channel ready after stop/start server"
Treehugger Robot [Mon, 8 Jul 2019 16:46:45 +0000 (16:46 +0000)]
Merge "GD:Wait channel ready after stop/start server"

5 years agoGD:Wait channel ready after stop/start server
Chienyuan [Fri, 5 Jul 2019 10:18:56 +0000 (18:18 +0800)]
GD:Wait channel ready after stop/start server

When running multiple tests, the second test will always fail due to
client send rpc request before channel ready. Add wait_channel_ready
function to GdDeviceBase and use it to check channel ready when each
testcase start.

Bug: 136577370
Test: run run_cert.sh
Change-Id: I210dcd69d6e40a315710ba2b8e9e8819e462b42b

5 years agoMerge "Hearing Aid: set BLE phy to 2M if local and peer indicate PHY 2M support"
Treehugger Robot [Thu, 4 Jul 2019 08:00:23 +0000 (08:00 +0000)]
Merge "Hearing Aid: set BLE phy to 2M if local and peer indicate PHY 2M support"

5 years agoRefresh the encoder configuration of software while updating the MTU
Cheney Ni [Mon, 10 Jun 2019 13:46:03 +0000 (21:46 +0800)]
Refresh the encoder configuration of software while updating the MTU

In order to have better compatibility, peer parameters like the MTU are
necessary for packing AVDTP media frames. When reconfiguring the codec,
the encoder was updated before negotiated with remote, and needed to
update again after data channel opened. There was set audio config from
UIPC to help, and now we add the request after reconfigured.

Bug: 134125165
Test: manual
Change-Id: Ia823057b13cebde63d72f2a41aa744f1966eb20d

5 years agoHearing Aid: set BLE phy to 2M if local and peer indicate PHY 2M support
weichinweng [Wed, 3 Jul 2019 09:52:19 +0000 (17:52 +0800)]
Hearing Aid: set BLE phy to 2M if local and peer indicate PHY 2M support

Set the BLE phy to 2M if the BT controller and peer Hearing Aid device
indicate phy 2M support, otherwise, use default phy channel.

Bug: 135769508
Test: 1.Forget/Repair Hearing Aid device check whether phy is expected.
2.Disconnect/Reconnect Hearing Aid device check whether phy is expected.
3.HearingAid device power off/on, check whether phy is expected.

Change-Id: Ib410a8885f3a68c361bb97d5c9a3833f2a1be528

5 years agoPDL: Add missing quote in matching constraint error
Myles Watson [Wed, 5 Jun 2019 22:35:52 +0000 (15:35 -0700)]
PDL: Add missing quote in matching constraint error

Test: misspell a constraint and compile a .pdl file
Change-Id: I86aa9a8a4270d4c5fd922c53112ffdf8fc0f86fe

5 years agoRootCanal: Always add default devices
Myles Watson [Fri, 21 Jun 2019 13:04:08 +0000 (06:04 -0700)]
RootCanal: Always add default devices

Bug: 129546852
Test: android.bluetooth.cts.BluetoothLeScanTest#testBasicBleScan
Change-Id: I9912dc7a98155972483e1e1dca812ebbae806bdd

5 years agoRootCanal: Make beacons less verbose
Myles Watson [Wed, 26 Jun 2019 17:27:19 +0000 (10:27 -0700)]
RootCanal: Make beacons less verbose

Test: scan for Bluetooth devices, watch logcat
Change-Id: I971a7e56359adc39d006a1b10b5333c2f31ebaff

5 years agoRootcanal: Fix check in RejectSlaveConnection
Hansong Zhang [Fri, 21 Jun 2019 20:53:33 +0000 (13:53 -0700)]
Rootcanal: Fix check in RejectSlaveConnection

Test: manual
Change-Id: Ic37c123f5326e2cf5675f2eeb1734eb9514d86bc

5 years agoGAP: Correct the continuous pkt length in l2cap
Venkata Jagadeesh Garaga [Thu, 18 Apr 2019 11:43:49 +0000 (17:13 +0530)]
GAP: Correct the continuous pkt length in l2cap

L2cap continuous pkt length wrongly calculated in
reassembly logic when remote sends more data
than expected.

Wrong pkt length leading to memory corruption

Hence the Correct the continuous pkt length in
l2cap reassembly logic.

Change-Id: I758d9e31465b99e436b9b1841320000f08186c97
CRs-Fixed: 2434229
Bug: 135239489

5 years agoRootcanal: detect HCI socket close
Hansong Zhang [Wed, 19 Jun 2019 23:53:15 +0000 (16:53 -0700)]
Rootcanal: detect HCI socket close

Test: manual
Change-Id: I609f917061e5d83e011edfeb61de281ff45b13e4

5 years agoMerge "Extend setup acts script with more helpful information on failure"
Chris Manton [Thu, 20 Jun 2019 18:22:04 +0000 (18:22 +0000)]
Merge "Extend setup acts script with more helpful information on failure"

5 years agoHCI layer: Gracefully handle multiple incoming ACL
Hansong Zhang [Wed, 19 Jun 2019 18:21:37 +0000 (11:21 -0700)]
HCI layer: Gracefully handle multiple incoming ACL

Test: bluetooth_test_gd
Change-Id: Ieeaf9ba516f998d8c0bf13c5032cf231361e091d

5 years agoOS Queue: Add Enqueue Buffer
Hansong Zhang [Wed, 19 Jun 2019 21:53:16 +0000 (14:53 -0700)]
OS Queue: Add Enqueue Buffer

Enqueue Buffer is a common interface to handle RegisterEnqueue() and
UnregisterEnqueue() according to current buffer size

Test: bluetooth_test_gd
Change-Id: I5b3ef749cd09f866a6c676af403ab6fa39d34701

5 years agoHCI Controller: Read BD_ADDR
Hansong Zhang [Tue, 18 Jun 2019 23:04:01 +0000 (16:04 -0700)]
HCI Controller: Read BD_ADDR

Stack needs to know BD_ADDR, when it reports its own address to facade

Test: bluetooth_test_gd
Change-Id: I77754bb89f3638a6b15a3037d0427754b439cdcf

5 years agoExtend setup acts script with more helpful information on failure
Chris Manton [Wed, 19 Jun 2019 17:54:04 +0000 (10:54 -0700)]
Extend setup acts script with more helpful information on failure

Test: source ./setup_acts.sh
Change-Id: If04190a79a175d5f6f11c168286d6a48a64be9ea

5 years agoHCI: ACL Manager
Hansong Zhang [Tue, 7 May 2019 00:54:51 +0000 (17:54 -0700)]
HCI: ACL Manager

ACL manager is the interface for user layer (L2CAP) to manage connection
and send/receive data packets

Test: atest --host bluetooth_test_gd
Change-Id: I43aa5aabd2474aca5e0b4bae06a6cbfae56fd156

5 years agoMerge "Limit sniff mode for Nintendo Pro Controller to 11.25ms"
Treehugger Robot [Tue, 18 Jun 2019 19:44:27 +0000 (19:44 +0000)]
Merge "Limit sniff mode for Nintendo Pro Controller to 11.25ms"

5 years agoLimit sniff mode for Nintendo Pro Controller to 11.25ms
Andre Eisenbach [Thu, 13 Jun 2019 18:50:57 +0000 (11:50 -0700)]
Limit sniff mode for Nintendo Pro Controller to 11.25ms

Bug: 133410149
Test: manual
Change-Id: I4bffb759323bedd36e754cf758ac1d61cffc886e

5 years agoFix coverage build
Jakub Pawlowski [Tue, 18 Jun 2019 12:50:07 +0000 (14:50 +0200)]
Fix coverage build

Bug: 135496567
Change-Id: I0de650ce2987926098577e7ab690c0bd9409e39a

5 years agoStack manager: Clear handler during ShutDown()
Hansong Zhang [Fri, 14 Jun 2019 01:31:40 +0000 (18:31 -0700)]
Stack manager: Clear handler during ShutDown()

* Clear StackManager.handler_ before it is deleted
* Use local variable promise in StartUp and ShutDown
* Add unit test

Test: bluetooth_test_gd
Change-Id: I0a6de64c5f159fdf4c97c123aa3fa2f37b2b7e34

5 years agoImprove blocking queue
Hansong Zhang [Sat, 15 Jun 2019 15:12:55 +0000 (08:12 -0700)]
Improve blocking queue

Instead of take_for(), add a helper function to wait until the queue is
non-empty, so we don't require T to have a empty constructor.

Test: bluetooth_test_gd
Change-Id: Ia30a8149646fc75ecf19778888636c4129dbf100

5 years agoPDL: Make GetPayload() const
Myles Watson [Fri, 17 May 2019 21:41:00 +0000 (14:41 -0700)]
PDL: Make GetPayload() const

Test: bluetooth_packet_parser_test
Change-Id: Icd2265863c694c0f794211e161bd50b6a20c25a5

5 years agoHAL: Add unregisterIncomingPacketCallback
Myles Watson [Tue, 11 Jun 2019 20:46:15 +0000 (13:46 -0700)]
HAL: Add unregisterIncomingPacketCallback

Test: bluetooth_test_gd
Change-Id: I17f8227c351451b4249c2a005ea4428ace734dc9