OSDN Git Service

android-x86/system-bt.git
5 years agoMerge "Add bluetooth_test_common to TEST_MAPPING"
Hansong Zhang [Fri, 12 Oct 2018 03:45:11 +0000 (20:45 -0700)]
Merge "Add bluetooth_test_common to TEST_MAPPING"
am: 6b5f3d96cc

Change-Id: Ia6f3e4f5dbc311a8dcb376c5c004a7f7a02580ba

5 years agoMerge "Add bluetooth_test_common to TEST_MAPPING"
Treehugger Robot [Fri, 12 Oct 2018 03:34:30 +0000 (03:34 +0000)]
Merge "Add bluetooth_test_common to TEST_MAPPING"

5 years agoTimer: Fix unstable test
Hansong Zhang [Fri, 12 Oct 2018 02:35:03 +0000 (19:35 -0700)]
Timer: Fix unstable test
am: 466b51280b

Change-Id: I5b9f2420b4663489f300d684529b4f91856b1f37

5 years agoTimer: Fix unstable test
Hansong Zhang [Thu, 11 Oct 2018 21:14:31 +0000 (14:14 -0700)]
Timer: Fix unstable test

* Don't use future.wait_until()
* For cancel_period_task, verify the counter won't change after
  timer is cancelled

Test: run Timer test for 5000 times
Bug: 116081383
Change-Id: Ibc99507e76180a878f417a0b4e7aba1b8adc7cb6

5 years agoMerge "Allow AVDTP SetConfig from INIT state"
Pavlin Radoslavov [Thu, 11 Oct 2018 18:48:26 +0000 (11:48 -0700)]
Merge "Allow AVDTP SetConfig from INIT state"
am: 311738f7ec

Change-Id: Ia6434fdf9225a443d978b158718477642b47f5b6

5 years agoMerge "Allow AVDTP SetConfig from INIT state"
Treehugger Robot [Thu, 11 Oct 2018 18:38:16 +0000 (18:38 +0000)]
Merge "Allow AVDTP SetConfig from INIT state"

5 years agoMerge "Add more Hearing Aid Profile logs"
Stanley Tng [Thu, 11 Oct 2018 17:33:55 +0000 (10:33 -0700)]
Merge "Add more Hearing Aid Profile logs"
am: 0f14d143df

Change-Id: I7d555fa8dafa0aed8c59c32cad98eae5adceb718

5 years agoMerge "Add more Hearing Aid Profile logs"
Treehugger Robot [Thu, 11 Oct 2018 17:14:59 +0000 (17:14 +0000)]
Merge "Add more Hearing Aid Profile logs"

5 years agoAdd more Hearing Aid Profile logs
Stanley Tng [Thu, 11 Oct 2018 01:57:29 +0000 (18:57 -0700)]
Add more Hearing Aid Profile logs

Add more logs to debug the TimeCheck timeout crash issues.

Test: Manual run
Change-Id: I3a05ca975e41ab002e466150f3f3f28ba0f037df

5 years agoAllow AVDTP SetConfig from INIT state
Pavlin Radoslavov [Tue, 25 Sep 2018 01:42:53 +0000 (18:42 -0700)]
Allow AVDTP SetConfig from INIT state

This addresses AVDTP codec reconfiguration issue on the A2DP Sink side.
Apparently, the A2DP Sink rejects AVDTP Reconfig - then, after the AVDTP Close
(normal), the Sink side doesn't accept AVDTP SetConfig anymore.
If the codecs are already known to the A2DP SRC, it doesn't need the
AVDTP Discover mechanism just for the purpose of the codec reconfiguration.
Hence, we can allow SetConfig from INIT state.

Bug: 115894702
Test: Manual with switching the AAC Sample Rate in the Develop Options
Change-Id: I3b1603dc6ef344eea50383df2eddf309dec80a28

5 years agoLE Enhanced Connection Complete: Check address types
Jakub Pawlowski [Wed, 10 Oct 2018 18:44:40 +0000 (11:44 -0700)]
LE Enhanced Connection Complete: Check address types
am: 26aee6db57

Change-Id: I396a9ebc634b66eec30310627483f25269824d79

5 years agoLE Enhanced Connection Complete: Check address types
Jakub Pawlowski [Tue, 14 Aug 2018 10:24:33 +0000 (12:24 +0200)]
LE Enhanced Connection Complete: Check address types

Only pass identity addresses to btm_identity_addr_to_random_pseudo.
Only pass random addresses into btm_ble_resolve_random_addr.

Test: bond twice to device using non-resolvable address
Change-Id: I5931e5bc89449ea4ae9b873aedfd7bbcdeef2e01

5 years agoMerge "Add DataElementReader for SDP"
Ajay Panicker [Tue, 9 Oct 2018 19:12:14 +0000 (12:12 -0700)]
Merge "Add DataElementReader for SDP"
am: 424e80f892

Change-Id: I625dabfb5d1c0cf18a58550b6ea35b902cf716e0

5 years agoMerge "Add DataElementReader for SDP"
Ajay Panicker [Tue, 9 Oct 2018 18:53:02 +0000 (18:53 +0000)]
Merge "Add DataElementReader for SDP"

5 years agoFix Timer unittest
Hansong Zhang [Tue, 9 Oct 2018 02:47:01 +0000 (19:47 -0700)]
Fix Timer unittest
am: 4d0a9b422d

Change-Id: I6a96c10e941e9cb8c055f6256bdd06da423176e7

5 years agoFix Timer unittest
Hansong Zhang [Sun, 7 Oct 2018 20:31:01 +0000 (13:31 -0700)]
Fix Timer unittest

* Never set promise more than once
* To verify running task cannot be cancelled, make sure Cancel() is
  called after callback starts
* Remove a stress test case. Sometimes there is unexpected event causing
  deviation.

Test: run Timer test for 5000 times
Bug: 116081383
Change-Id: If99e4958289e9b6aaabc51b15ce4ac035a3ff1e9

5 years agoMerge "Replace A2DP source osi/alarm with common/Timer"
Hansong Zhang [Mon, 8 Oct 2018 23:53:36 +0000 (16:53 -0700)]
Merge "Replace A2DP source osi/alarm with common/Timer"
am: 82c49d533a

Change-Id: I914cc4e97ba1978dfeb0af0e1e9327eb8e44bbd1

5 years agoMerge "Replace A2DP source osi/alarm with common/Timer"
Treehugger Robot [Mon, 8 Oct 2018 23:38:02 +0000 (23:38 +0000)]
Merge "Replace A2DP source osi/alarm with common/Timer"

5 years agoMerge "Move btif_state_machine to common/StateMachine"
Hansong Zhang [Mon, 8 Oct 2018 23:10:21 +0000 (16:10 -0700)]
Merge "Move btif_state_machine to common/StateMachine"
am: 062b311bc3

Change-Id: I2fd18ccf848c6c04af0520e1e57b023eec84b297

5 years agoMerge "Fix race condition around Le Start Encryption handling."
Jakub Pawlowski [Mon, 8 Oct 2018 23:09:40 +0000 (16:09 -0700)]
Merge "Fix race condition around Le Start Encryption handling."
am: f67a4f54b3

Change-Id: Ic343e34c18dd0ce8ef0fdbf8a23037e3bcb24878

5 years agoMerge "Move btif_state_machine to common/StateMachine"
Treehugger Robot [Mon, 8 Oct 2018 22:34:10 +0000 (22:34 +0000)]
Merge "Move btif_state_machine to common/StateMachine"

5 years agoMerge "Fix race condition around Le Start Encryption handling."
Treehugger Robot [Mon, 8 Oct 2018 22:17:28 +0000 (22:17 +0000)]
Merge "Fix race condition around Le Start Encryption handling."

5 years agoReplace A2DP source osi/alarm with common/Timer
Hansong Zhang [Thu, 23 Aug 2018 22:17:10 +0000 (15:17 -0700)]
Replace A2DP source osi/alarm with common/Timer

Test: A2DP stream music
Change-Id: I4f7325b3eb3be07eca6c599c7f6f5e037b8e7a64

5 years agoFix race condition around Le Start Encryption handling.
Jakub Pawlowski [Mon, 1 Oct 2018 11:25:11 +0000 (13:25 +0200)]
Fix race condition around Le Start Encryption handling.

When sending Le Start Encryption, it's possible that at the same exact
moment the connection was disconnected, and there is an incoming
"Disconnection Complete Event". The controller would send error 0x02
"unknown connection identifier" in such case. This can happen
sporadically when reconnecting device multiple times.

Currently, we don't handle this error code. This lead to the timeout
when waiting for "Encryption Complete", and unbonding of the device.

From now on, if 0x02 error code is returned, we'll cancel current SMP
operation, which is the "LE Start Encryption". This will stop the SMP
timer, and make sure the bond to remote device is not lost.

Test: Manual test reconnecting with HID device multiple time in a row,
causing the link drop right after connection, by removing battery, or
closing the shield box.
Bug: 113652889
Change-Id: I2ff9c13dbc8e7b71505908996e26b89fa1ea6a42

5 years agoAdd DataElementReader for SDP
Ajay Panicker [Fri, 14 Sep 2018 22:10:13 +0000 (15:10 -0700)]
Add DataElementReader for SDP

DataElementReader extracts DataElement's from packets which are the
basic container for all data in the SDP protocol.

Bug: 114751344
Test: run host test bluetooth_test_sdp
Change-Id: If01f22d81af1b80e7c9ac8993ee161eba779bfa3

5 years agoMerge "Stop A2DP stream when shutting down A2DP source."
weichinweng [Mon, 8 Oct 2018 11:18:40 +0000 (04:18 -0700)]
Merge "Stop A2DP stream when shutting down A2DP source."
am: 90942c06f2

Change-Id: If18e665cdda1e69aca48cd31bc1a44d5c4d3a237

5 years agoMerge "Stop A2DP stream when shutting down A2DP source."
Treehugger Robot [Mon, 8 Oct 2018 11:06:32 +0000 (11:06 +0000)]
Merge "Stop A2DP stream when shutting down A2DP source."

5 years agoAdd bluetooth_test_common to TEST_MAPPING
Hansong Zhang [Fri, 5 Oct 2018 23:21:09 +0000 (16:21 -0700)]
Add bluetooth_test_common to TEST_MAPPING

Bug: 116081383
Test: unit test
Change-Id: I8231b8f168ab1d86009b7be2cf0b6044f5c8d0cf

5 years agoMove btif_state_machine to common/StateMachine
Hansong Zhang [Thu, 4 Oct 2018 22:04:18 +0000 (15:04 -0700)]
Move btif_state_machine to common/StateMachine

In Bluetooth native infrastructure refactor plan, we need a state
machine class for entire stack

Test: manual
Change-Id: I0e6671e42570482d9a9466b117054b3aadb3e9cc

5 years agoStop A2DP stream when shutting down A2DP source.
weichinweng [Wed, 3 Oct 2018 07:08:54 +0000 (15:08 +0800)]
Stop A2DP stream when shutting down A2DP source.

When shutting down a2dp source,
A2DP source set StateShuttingDown state too fast cause the A2DP doesn’t stop stream.
Will try to stop A2DP when doing A2DP source end session.

Bug: 112279820
Test: Build Pass, BT off/on when play A2DP
Change-Id: I6bfb5c235da1ff4a7e6814bae3a98ae7dd1788aa

5 years agoMerge "MessageLoopThread: Release lock during blocked StartUp/ShutDown"
Hansong Zhang [Thu, 4 Oct 2018 06:23:11 +0000 (23:23 -0700)]
Merge "MessageLoopThread: Release lock during blocked StartUp/ShutDown"
am: 9a6d430622

Change-Id: I8edb2ee00ed78e5f27d91dc23e4cd6a8563c6bc8

5 years agoMerge "MessageLoopThread: Release lock during blocked StartUp/ShutDown"
Treehugger Robot [Thu, 4 Oct 2018 06:10:47 +0000 (06:10 +0000)]
Merge "MessageLoopThread: Release lock during blocked StartUp/ShutDown"

5 years agoMessageLoopThread: Release lock during blocked StartUp/ShutDown
Hansong Zhang [Sat, 29 Sep 2018 21:23:31 +0000 (14:23 -0700)]
MessageLoopThread: Release lock during blocked StartUp/ShutDown

During StartUp/ShutDown(), if another running task in message loop needs
api_lock, then it will deadlock. Release api_lock in StartUp and
ShutDown when current thread is blocked by another task

Bug: 116081383
Test: run unit test
Change-Id: Ic34406d0cfc6364ac965c4f1aa917a5ccaf6b373

5 years agoTimer: Set data member before scheduling task
Hansong Zhang [Wed, 3 Oct 2018 23:01:34 +0000 (16:01 -0700)]
Timer: Set data member before scheduling task
am: 1773dd8d82

Change-Id: I6c6c82ec7a58e429778116d064cc1ac4d825fd6b

5 years agoTimer: Set data member before scheduling task
Hansong Zhang [Fri, 28 Sep 2018 19:10:15 +0000 (12:10 -0700)]
Timer: Set data member before scheduling task

Also increase tolerance for unit tests

Bug: 116081383
Test: Run unit test
Change-Id: I5531c2259cbbc58b6ee7527813e8d5c4164e94c5

5 years agoHearing Aid: use correct Data Length and MediaType
Stanley Tng [Tue, 2 Oct 2018 19:45:20 +0000 (12:45 -0700)]
Hearing Aid: use correct Data Length and MediaType
am: 51a9bba709

Change-Id: I1be9f73bec94680634e7022ca023a5b9f9219a87

5 years agoHearing Aid: use correct Data Length and MediaType
Stanley Tng [Tue, 25 Sep 2018 18:15:24 +0000 (11:15 -0700)]
Hearing Aid: use correct Data Length and MediaType

Adjusted the requested data length to the BT Controller from 168 to 167.
Also, change the default media type during playback to unknown.

Test: Manual testing with Hearing Aids and verifying with OTA logs
Change-Id: Ic4e934729a98bef5c10ebca64093d8a192e79a01

5 years agoMerge "Hearing Aid: Clean up GATT on disconnect"
Hansong Zhang [Fri, 28 Sep 2018 19:35:53 +0000 (12:35 -0700)]
Merge "Hearing Aid: Clean up GATT on disconnect"
am: 36f0889fc6

Change-Id: I6caf6bc8bef9324f1675f5aa62024b97c6f6b5de

5 years agoMerge "Hearing Aid: Clean up GATT on disconnect"
Treehugger Robot [Fri, 28 Sep 2018 19:08:21 +0000 (19:08 +0000)]
Merge "Hearing Aid: Clean up GATT on disconnect"

5 years agoMerge "Rename functions related to BLE scan cache"
Jakub Pawlowski [Fri, 28 Sep 2018 14:43:31 +0000 (07:43 -0700)]
Merge "Rename functions related to BLE scan cache"
am: 68e05e155e

Change-Id: I55adaa8067a2ae50682d3c53814720128a0f1b2e

5 years agoMerge "Rename functions related to BLE scan cache"
Treehugger Robot [Fri, 28 Sep 2018 14:22:08 +0000 (14:22 +0000)]
Merge "Rename functions related to BLE scan cache"

5 years agoRename functions related to BLE scan cache
Jakub Pawlowski [Wed, 8 Aug 2018 13:19:58 +0000 (15:19 +0200)]
Rename functions related to BLE scan cache

They are not related to GATT, update naming.

Test: compilation
Bug: 67058417
Change-Id: Ia84ed98e02fbc04ecfde979f860b8766b0018218

5 years agoHearing Aid: Clean up GATT on disconnect
Hansong Zhang [Thu, 27 Sep 2018 05:02:38 +0000 (22:02 -0700)]
Hearing Aid: Clean up GATT on disconnect

When user requests Disconnect(), after disconnecting GATT,
OnGattDisconnected() never cleans up GATT queue, because the
corresponding device is already removed from HearingDevices. We need to
clean up the queue before connecting the same device again. Without the
fix, sometimes ACL is connected, but the host failed to read GATT
characteristic to open COC. Also clean up connection update status
during disconnect

Bug: 115365334
Test: connect to both devices -> disconnect -> connect, and repeat
Change-Id: I158b19b3d1f2cb2123ec554eb1ffe8c842df998e

5 years agoAdd TEST_MAPPING to system/bt
Jack He [Fri, 28 Sep 2018 00:44:09 +0000 (17:44 -0700)]
Add TEST_MAPPING to system/bt
am: 37b717c612

Change-Id: Iae641e8d55d26577491853eca958347744638ba9

5 years agoMerge "GATTC: Use hex for conn_id in log"
Hansong Zhang [Thu, 27 Sep 2018 22:27:41 +0000 (15:27 -0700)]
Merge "GATTC: Use hex for conn_id in log"
am: 71113b44c3

Change-Id: Iabf9065e751f4090bf676fe109ef23a4310b29d6

5 years agoAdd TEST_MAPPING to system/bt
Jack He [Wed, 29 Aug 2018 01:28:55 +0000 (18:28 -0700)]
Add TEST_MAPPING to system/bt

* Add "postsubmit" test group to TEST_MAPPING in system/bt
* Developer can run tests mannually in system/bt via:
  system/bt$ atest :postsubmit
* Remove legacy configuration files spread across system/bt
* Created unified configuration file system/bt/AndroidTestTemplate.xml
  and add it to the default build config so that developers don't have
  to configure it

Bug: 113359343
Test: atest :postsubmit
Change-Id: I0fdd55b47ef176b5c4ce3d2cd217ffa67cf9bc23

5 years agoMerge "GATTC: Use hex for conn_id in log"
Treehugger Robot [Thu, 27 Sep 2018 22:16:39 +0000 (22:16 +0000)]
Merge "GATTC: Use hex for conn_id in log"

5 years agoMerge "HID: Free timer after removing device"
Hemant Gupta [Thu, 27 Sep 2018 21:03:24 +0000 (14:03 -0700)]
Merge "HID: Free timer after removing device"
am: 1de8ba51e1

Change-Id: Ib99739a3e08926b91e0df57564e690eb1604f05c

5 years agoMerge "HID: Free timer after removing device"
Treehugger Robot [Thu, 27 Sep 2018 20:47:50 +0000 (20:47 +0000)]
Merge "HID: Free timer after removing device"

5 years agoMove Bluetooth to using C++17
Ajay Panicker [Thu, 27 Sep 2018 19:37:16 +0000 (12:37 -0700)]
Move Bluetooth to using C++17
am: 96bcf14a65

Change-Id: I0cd45059f7e3befa275b25be65ea88947c08b3b5

5 years agoGATTC: Use hex for conn_id in log
Hansong Zhang [Thu, 27 Sep 2018 00:42:40 +0000 (17:42 -0700)]
GATTC: Use hex for conn_id in log

For host conn_id, use hex format

Test: manual
Change-Id: I7d7e690a1dbe0665b827c59d104540eafa45d426

5 years agoHID: Free timer after removing device
Hemant Gupta [Thu, 27 Sep 2018 16:05:46 +0000 (21:35 +0530)]
HID: Free timer after removing device

Timer conn.process_repage_timer is being freed in HID_HostDeregister
which causes use after free condition in HID_HostRemoveDev->
HID_HostCloseDev.

Fix:
Call alarm_free after HID_HostRemoveDev in HID_HostDeregister

Test:
Code analysis

Bug: 116774368
Change-Id: Iddecd126716a5660f4c37ddc917bacee84342297

5 years agoMove Bluetooth to using C++17
Ajay Panicker [Mon, 17 Sep 2018 18:35:24 +0000 (11:35 -0700)]
Move Bluetooth to using C++17

C++ 17 has a bunch of features that will help us refactor the Bluetooth
stack to be much more safe and stable.

Bug: 115895445
Test: Compile and testtracker/201115
Change-Id: Ia1e8e179fa1df116969606d119cb8abe11f44761

5 years agoMerge "Add noexcept to move constructors and assignment operators."
Chih-hung Hsieh [Thu, 27 Sep 2018 04:44:30 +0000 (21:44 -0700)]
Merge "Add noexcept to move constructors and assignment operators."
am: 2e3fa05261

Change-Id: Ief6685c41f95433dfa2ac1acd75f18b8895b5da1

5 years agoMerge "Add noexcept to move constructors and assignment operators."
Chih-hung Hsieh [Thu, 27 Sep 2018 04:33:34 +0000 (04:33 +0000)]
Merge "Add noexcept to move constructors and assignment operators."

5 years agoMerge "Use maximum SSR timeout value when A2DP is streaming"
Ugo Yu [Thu, 27 Sep 2018 04:20:09 +0000 (21:20 -0700)]
Merge "Use maximum SSR timeout value when A2DP is streaming"
am: 3dd799fd1a

Change-Id: Iafa7a776e8e844e2265d68eb1028402e4957afbf

5 years agoMerge "Use maximum SSR timeout value when A2DP is streaming"
Treehugger Robot [Thu, 27 Sep 2018 01:58:13 +0000 (01:58 +0000)]
Merge "Use maximum SSR timeout value when A2DP is streaming"

5 years agoMerge "Remove obsoleted Coverity-related comment"
Pavlin Radoslavov [Wed, 26 Sep 2018 23:31:56 +0000 (16:31 -0700)]
Merge "Remove obsoleted Coverity-related comment"
am: 21cd29ca65

Change-Id: I98552cebb24e6b2784dc4771e4ceb213744b9aea

5 years agoMerge "Remove obsoleted Coverity-related comment"
Treehugger Robot [Wed, 26 Sep 2018 23:18:32 +0000 (23:18 +0000)]
Merge "Remove obsoleted Coverity-related comment"

5 years agoUse maximum SSR timeout value when A2DP is streaming
Ugo Yu [Thu, 13 Sep 2018 12:12:36 +0000 (20:12 +0800)]
Use maximum SSR timeout value when A2DP is streaming

* Add a new SSR entry BTA_DM_PM_SSR4 with maximum
  remote/local timeout value.
* Use BTA_DM_PM_SSR4 when A2DP is streaming to prevent
  phone enter sniff subrating mode.

Bug: 113496412
Test: Manually
Change-Id: I194ef9fdb4dd38eab67ff20e1bb9cab47edbfe8f

5 years agoAdd new hidden API to return SDP record's MapSupportedFeatures field. That field...
Vasu Nori [Tue, 25 Sep 2018 23:14:31 +0000 (16:14 -0700)]
Add new hidden API to return SDP record's MapSupportedFeatures field. That field is documented in Bluetooth MAP 1.4 spec, page 114. Spec is here: shortn/_zfoIrfbIzR
am: f2b03b49ac

Change-Id: I17d43783874233dca4e58965c5e446f60552ff1f

5 years agoAdd new hidden API to return SDP record's MapSupportedFeatures field.
Vasu Nori [Sat, 18 Aug 2018 00:28:11 +0000 (17:28 -0700)]
Add new hidden API to return SDP record's MapSupportedFeatures field.
That field is documented in Bluetooth MAP 1.4 spec, page 114.
Spec is here: http://shortn/_zfoIrfbIzR

Bug: 111614861
Test: tested w/ KitchenSink App
Change-Id: I89903c386d97934ec7b9c80333ecc6a6d560cbec

5 years agoAdd noexcept to move constructors and assignment operators.
Chih-Hung Hsieh [Tue, 25 Sep 2018 21:29:59 +0000 (14:29 -0700)]
Add noexcept to move constructors and assignment operators.

Bug: 116614593
Test: build with WITH_TIDY=1
Change-Id: I4adaf89db5001e9b627beac8160f62b50513d18f

5 years agoRemove obsoleted Coverity-related comment
Pavlin Radoslavov [Tue, 25 Sep 2018 18:18:34 +0000 (11:18 -0700)]
Remove obsoleted Coverity-related comment

Bug: 27078725
Test: Code compilation
Change-Id: I9398f0354e54cc6a754ed46b05b9f7cef09add8f

5 years agoMerge changes I737a864e,Idc41b2a5
Hansong Zhang [Tue, 25 Sep 2018 04:52:59 +0000 (21:52 -0700)]
Merge changes I737a864e,Idc41b2a5
am: af09b4eae2

Change-Id: Icdf4f89ec9d36f680f20d54633bd18d23b88c0fb

5 years agoMerge changes I737a864e,Idc41b2a5
Treehugger Robot [Tue, 25 Sep 2018 04:41:08 +0000 (04:41 +0000)]
Merge changes I737a864e,Idc41b2a5

* changes:
  Timer: Don't run new task at old timepoint
  Timer: Separate code path for single and periodic

5 years agoTimer: Don't run new task at old timepoint
Hansong Zhang [Thu, 20 Sep 2018 17:15:12 +0000 (10:15 -0700)]
Timer: Don't run new task at old timepoint

* Fix a race condition that the task is just finished but IsScheduled
  is true
* Fix a bug where cancelling the old task will make new task run at
  the previous task's scheduled timepoint
* Protect racing read/write to message_loop_thread_ in RunTask() and
  Cancel() by storing a local reference to message_loop_thread_ in
  RunTask()

Bug: 116081383
Test: Run bluetooth_test_common.TimerTest
      reschedule_task_dont_invoke_new_task_early
      schedule_task
      for multiple times
Change-Id: I737a864e1b061adbcd41245711e0d3e8adf448d4

5 years agoMerge "Send volume just once when starting the stream."
Jakub Pawlowski [Mon, 24 Sep 2018 20:43:23 +0000 (13:43 -0700)]
Merge "Send volume just once when starting the stream."
am: 029945f9f5

Change-Id: I8c64f2325849333c91010e0f0fdb5239d88187d0

5 years agoMerge "Send volume just once when starting the stream."
Treehugger Robot [Mon, 24 Sep 2018 20:33:51 +0000 (20:33 +0000)]
Merge "Send volume just once when starting the stream."

5 years agoSend volume just once when starting the stream.
Jakub Pawlowski [Mon, 24 Sep 2018 14:43:59 +0000 (16:43 +0200)]
Send volume just once when starting the stream.

The volume is in the Start command already, no need to send it in a
separate command.

Bug: 116145308
Test: play music, pause, adjust volume, start playing again, verify
      playing was re-started with proper volume level.
Change-Id: I2a900b03a35670de4a265184f333517db17497d8

5 years agoTimer: Separate code path for single and periodic
Hansong Zhang [Thu, 20 Sep 2018 17:15:12 +0000 (10:15 -0700)]
Timer: Separate code path for single and periodic

* Add helper RunSingleTask() and RunPeriodicTask() to handle two cases
  separately
* In RunTask(), check that it must run on specified message loop thread

Bug: 116081383
Test: Run bluetooth_test_common
Change-Id: Idc41b2a509f43dbe946b2e26f2afd775726514aa

5 years agoMerge "Add net_test_avrcp to general-tests suite"
Dan Shi [Wed, 19 Sep 2018 00:42:34 +0000 (17:42 -0700)]
Merge "Add net_test_avrcp to general-tests suite"
am: 425bca9026

Change-Id: Iedd9cfa3afce7d3aa0d5e5eafc03cc6cf269dc0b

5 years agoMerge "Add net_test_avrcp to general-tests suite"
Treehugger Robot [Wed, 19 Sep 2018 00:12:50 +0000 (00:12 +0000)]
Merge "Add net_test_avrcp to general-tests suite"

5 years agoFix clang-tidy performance warnings in system/bt.
Chih-Hung Hsieh [Tue, 18 Sep 2018 10:36:22 +0000 (03:36 -0700)]
Fix clang-tidy performance warnings in system/bt.
am: b78d2791de

Change-Id: I3c9d0768e73523dac093e00842d658ea25050dac

5 years agoFix clang-tidy performance warnings in system/bt.
Chih-Hung Hsieh [Mon, 17 Sep 2018 22:16:18 +0000 (15:16 -0700)]
Fix clang-tidy performance warnings in system/bt.

* Use more efficient overloaded string methods.

Bug: 30411878
Test: build with WITH_TIDY=1
Change-Id: Iff759bf68ede3bb6bdd8e332b3490128eee3b5fe

5 years agoSuppress implicit-fallthrough warnings.
Chih-Hung Hsieh [Mon, 17 Sep 2018 19:40:21 +0000 (12:40 -0700)]
Suppress implicit-fallthrough warnings.
am: d464658a77

Change-Id: I98938affe622af4a82422cfe550cd8ef38afb8cb

5 years agoSuppress implicit-fallthrough warnings.
Chih-Hung Hsieh [Wed, 12 Sep 2018 22:20:43 +0000 (15:20 -0700)]
Suppress implicit-fallthrough warnings.

Add FALLTHROUGH_INTENDED for clang compiler.

Bug: 112564944
Test: build with global -Wimplicit-fallthrough.
Change-Id: Iedf7e46445101a5e3358473e1200212d67cf58d1

5 years agoMerge "AVRCP Controller media session queue"
Joseph Pirozzo [Sat, 15 Sep 2018 00:18:53 +0000 (17:18 -0700)]
Merge "AVRCP Controller media session queue"
am: ad6183c330

Change-Id: I8ecc2b8214fa174ab7eec531965a8edb57323a4a

5 years agoMerge "AVRCP Controller media session queue"
Joseph Pirozzo [Fri, 14 Sep 2018 22:48:55 +0000 (22:48 +0000)]
Merge "AVRCP Controller media session queue"

5 years agoAdd Timer as an alternative to osi alarm
Hansong Zhang [Fri, 14 Sep 2018 18:08:31 +0000 (11:08 -0700)]
Add Timer as an alternative to osi alarm
am: 438b08c27d

Change-Id: I63c59ba8d40104220d0d8762ef41722e8f1d219f

5 years agoAdd net_test_avrcp to general-tests suite
Dan Shi [Fri, 14 Sep 2018 17:38:26 +0000 (10:38 -0700)]
Add net_test_avrcp to general-tests suite

This is the first step for it to run in lab. With this, the test binary
will be included in general-tests.zip (test_suite* target). From there,
we can kick off the test in the lab using TF, with the right options.

Bug: 111921389
Test: m -j net_test_avrcp
./host/linux-x86/testcases/net_test_avrcp/x86_64/net_test_avrcp

Change-Id: I4de9409b4a9d4c066a9024a33d6a980ecb451dc1

5 years agoAdd Timer as an alternative to osi alarm
Hansong Zhang [Tue, 14 Aug 2018 21:29:23 +0000 (14:29 -0700)]
Add Timer as an alternative to osi alarm

* Add a private method MessageLoopThread.DoInThreadDelayed to post a
  delayed task in message loop, as an alternative approach to osi alarm
  clock
* Add a unit test for MessageLoopThread to check ShutDown() waits until
  current task finishes
* Add Timer using MessageLoopThread.DoInThreadDelayed
* Timer provides similar API as osi alarm, and uses same OS clock (boot
  timer) as alarm
* Add benchmark and unit tests to ensure the performance is comparable
  to the existing osi alarm

Test: Run unit test and benchmark test
      ./test/run_unit_tests.sh bluetooth_test_common
      ./test/run_benchmarks.sh bluetooth_benchmark_timer_performance
      --benchmark_repetitions=10 --benchmark_report_aggregates_only=true
Bug: 110303473
Change-Id: I6f2e7ae2f80f9889fc5fe3c8cd6b9b2670938b46

5 years agoMerge "Add support for A2DP LDAC Sink function"
Chisato Kenmochi [Thu, 13 Sep 2018 02:33:47 +0000 (19:33 -0700)]
Merge "Add support for A2DP LDAC Sink function"
am: 58eac77949

Change-Id: Ic25017f7eb5186af86262d9215c9aab7f6b15eae

5 years agoMerge "Add support for A2DP LDAC Sink function"
Treehugger Robot [Thu, 13 Sep 2018 01:30:08 +0000 (01:30 +0000)]
Merge "Add support for A2DP LDAC Sink function"

5 years agoMerge "Add extractBE to the Bluetooth Packets Iterators"
Ajay Panicker [Wed, 12 Sep 2018 23:04:49 +0000 (16:04 -0700)]
Merge "Add extractBE to the Bluetooth Packets Iterators"
am: 7314f08016

Change-Id: Ib385dd3b0dd39f09f455d40e6ecbf195006954ff

5 years agoMerge "Add extractBE to the Bluetooth Packets Iterators"
Ajay Panicker [Wed, 12 Sep 2018 22:27:42 +0000 (22:27 +0000)]
Merge "Add extractBE to the Bluetooth Packets Iterators"

5 years agoAdd a check whether an A2DP codec is supported before including it
Pavlin Radoslavov [Wed, 12 Sep 2018 20:47:47 +0000 (13:47 -0700)]
Add a check whether an A2DP codec is supported before including it
am: 7240fe907d

Change-Id: Iea19097028e8d0e39ec36f069c201b556780986c

5 years agoAdd support for A2DP LDAC Sink function
Chisato Kenmochi [Fri, 10 Aug 2018 11:44:05 +0000 (20:44 +0900)]
Add support for A2DP LDAC Sink function

Note: The LDAC decoder source code is needed to run with this patch.

Bug: 112839060
Test: Manual
Change-Id: Idce0070dcce4d6b83cfd08213b846d957d694d26
Signed-off-by: Chisato Kenmochi <Chisato.Kenmochi@sony.com>
5 years agoAdd a check whether an A2DP codec is supported before including it
Pavlin Radoslavov [Tue, 11 Sep 2018 23:47:47 +0000 (16:47 -0700)]
Add a check whether an A2DP codec is supported before including it

Some of the A2DP SRC or SNK codecs might not be supported if the
corresponding shared library is not included.
Don't include such codecs when configuring and registering
the stream end points on the local device.

Bug: 112839060
Test: Manual - remove A2DP codec shared libraries and check the
      returned AVDTP Capabilities
Change-Id: Ia8fbdac915b208f9950ef7c9f50e3e0dc87e9111

5 years agoAdd extractBE to the Bluetooth Packets Iterators
Ajay Panicker [Mon, 10 Sep 2018 19:01:50 +0000 (12:01 -0700)]
Add extractBE to the Bluetooth Packets Iterators

ExtractBE allows data to be extracted from Bluetooth packets in a big
endian format.

Bug: 114751344
Test: run net_test_btpackets
Change-Id: Ib01d726893e106d34c11048acc09fee201d81c09

5 years agoMerge "Fix spacing in hearing aid dumpsys"
Hansong Zhang [Mon, 10 Sep 2018 23:53:05 +0000 (16:53 -0700)]
Merge "Fix spacing in hearing aid dumpsys"
am: 3ffd7b89f4

Change-Id: I191efc21cc16fdca30bf8801a58ab42bd53607a9

5 years agoMerge "Fix spacing in hearing aid dumpsys"
Treehugger Robot [Mon, 10 Sep 2018 23:40:29 +0000 (23:40 +0000)]
Merge "Fix spacing in hearing aid dumpsys"

5 years agoDisable absolute volume control for deepblue2 speaker
Pavlin Radoslavov [Mon, 10 Sep 2018 18:36:58 +0000 (11:36 -0700)]
Disable absolute volume control for deepblue2 speaker
am: a81834c826

Change-Id: Ibfa7c7315559eb333965cbefc537a948d2f8352a

5 years agoDisable absolute volume control for deepblue2 speaker
Pavlin Radoslavov [Sun, 9 Sep 2018 18:06:21 +0000 (11:06 -0700)]
Disable absolute volume control for deepblue2 speaker

The speaker does not accept the volume levels from the Phone.
It responds back with rounded down volume levels.

Bug: b/37834035
Test: Manual
Change-Id: Ie5575233c3cf31c087addd3cef1c12ad36b820b0

5 years agoFix spacing in hearing aid dumpsys
Hansong Zhang [Fri, 7 Sep 2018 16:39:22 +0000 (09:39 -0700)]
Fix spacing in hearing aid dumpsys

Bug: 114242876
Test: See dumpsys output for bluetooth_manager
Change-Id: Ifb0884ba4e90e2b925bafc52a15d3375c9aec288

5 years agoAllocate lcb when connection complete if can't find one
Chienyuan [Fri, 7 Sep 2018 04:43:11 +0000 (21:43 -0700)]
Allocate lcb when connection complete if can't find one
am: d53036302e

Change-Id: Ic79e372fd5f24ae9b82707b1ffe487047d51bdd0

5 years agoAllocate lcb when connection complete if can't find one
Chienyuan [Wed, 29 Aug 2018 05:38:19 +0000 (13:38 +0800)]
Allocate lcb when connection complete if can't find one

When BT stack sends create connection command and receive connection
request at the same time, connection request will reuse the link control
block created by create connection command. But the link control block
will be released before connection complete due to controller busy.

Bug:112818458
Test: manual - turn on BT and turn on Headset within little time gap
Change-Id: Ie30c655b933250f1709ba10c578ea5f30ea13139

5 years agoImplement A2DP source and AVRCP target binder servers
Bailey Forrest [Wed, 29 Aug 2018 23:29:33 +0000 (16:29 -0700)]
Implement A2DP source and AVRCP target binder servers
am: 780e29c219

Change-Id: I9cbeafd80df6fb0a2502418e51bb080b0595b946

5 years agoImplement A2DP source and AVRCP target binder servers
Bailey Forrest [Wed, 22 Aug 2018 00:20:29 +0000 (17:20 -0700)]
Implement A2DP source and AVRCP target binder servers

Bug: 64231556
Test: On device.
Change-Id: I57136d5550e8e52626a1e7eb26b7d8c02cd94eb5

5 years agoMerge "[bluetoothtb] Fix bug processing BT_PROPERTY_UUIDS"
Bailey Forrest [Wed, 29 Aug 2018 00:36:55 +0000 (17:36 -0700)]
Merge "[bluetoothtb] Fix bug processing BT_PROPERTY_UUIDS"
am: 91de25f4a5

Change-Id: Ied8af7dd57085e9fef09ee9850619f1b689018f2