OSDN Git Service

android-x86/system-bt.git
8 years agoSync minor nits with AOSP
Pavlin Radoslavov [Fri, 22 Jan 2016 01:35:36 +0000 (17:35 -0800)]
Sync minor nits with AOSP

No functional changes.

Change-Id: I6bab5d3b0ba4f6a543418943996b029bb3d67a6d

8 years agotests: don't use bt_os_callouts for wakelocks
Marie Janssen [Mon, 16 Nov 2015 18:35:17 +0000 (10:35 -0800)]
tests: don't use bt_os_callouts for wakelocks

Introduces alarm_set_wake_lock_paths so wake lock paths can be changed
for testing, and adds AlarmTestHarness::WakeLockHeld to test whether a
wake lock is currently held.

Bug: 25387683
Change-Id: I9a41ae8266e252a3d436f8d41ea3f9e7ecb45cdc

8 years agoRevert "Revert "Enable kernel wakelocks and timers""
Pavlin Radoslavov [Fri, 22 Jan 2016 01:11:46 +0000 (17:11 -0800)]
Revert "Revert "Enable kernel wakelocks and timers""

This reverts commit 89590b95e3f0c8f3a7c6005ee3b837cc3984c4d5.

The revert of the revert is needed to restore the original
code and prepare it for updating the wakelock mechanism.

8 years agoMove btsnooz.py script from Android Wear to the BT stack project.
Sharvil Nanavati [Thu, 21 Jan 2016 20:26:18 +0000 (20:26 +0000)]
Move btsnooz.py script from Android Wear to the BT stack project.
am: 1c50abb872

* commit '1c50abb87294b033d1604820d34ba5853d5bf253':
  Move btsnooz.py script from Android Wear to the BT stack project.

8 years agoUpdate btsnooz log file format to log ACL and SCO headers.
Sharvil Nanavati [Thu, 21 Jan 2016 20:26:14 +0000 (20:26 +0000)]
Update btsnooz log file format to log ACL and SCO headers.
am: e8c3dde6cf

* commit 'e8c3dde6cfec13e8a0b3f87397319eab4cb86ad5':
  Update btsnooz log file format to log ACL and SCO headers.

8 years agoMove btsnooz.py script from Android Wear to the BT stack project.
Sharvil Nanavati [Wed, 20 Jan 2016 17:14:47 +0000 (09:14 -0800)]
Move btsnooz.py script from Android Wear to the BT stack project.

Change-Id: I8368820b5ed9325d2c3b82885b9fe934c6bc87ca

8 years agoUpdate btsnooz log file format to log ACL and SCO headers.
Sharvil Nanavati [Fri, 15 Jan 2016 21:41:56 +0000 (13:41 -0800)]
Update btsnooz log file format to log ACL and SCO headers.

Change-Id: I72db1769197150f34ebba6fcb9c0e3db2404f342

8 years agoFix build break in system/bt
Alex Vakulenko [Thu, 21 Jan 2016 03:51:10 +0000 (03:51 +0000)]
Fix build break in system/bt
am: c637b0c828

* commit 'c637b0c8287226c90d5b573080a7a3ef80f53a46':
  Fix build break in system/bt

8 years agoAdd socket tx/rx accounting
Adam Lesinski [Thu, 21 Jan 2016 03:51:05 +0000 (03:51 +0000)]
Add socket tx/rx accounting
am: 0620f9706d  -s ours

* commit '0620f9706d9aa06ba7f8982840eeb7ab2ad90e7a':
  Add socket tx/rx accounting

8 years agoFix build break in system/bt
Alex Vakulenko [Thu, 21 Jan 2016 03:04:32 +0000 (19:04 -0800)]
Fix build break in system/bt

This was due to libchrome uprev submitted earlier

Change-Id: Ic0f1bd80ff4563bd73754cd3b9fcd521e93616e7

8 years agoMerge "Add socket tx/rx accounting"
Adam Lesinski [Thu, 21 Jan 2016 02:22:04 +0000 (02:22 +0000)]
Merge "Add socket tx/rx accounting"

8 years agoAdd socket tx/rx accounting
Adam Lesinski [Thu, 3 Dec 2015 06:15:08 +0000 (22:15 -0800)]
Add socket tx/rx accounting

Records network traffic going over bluetooth sockets. This patch adds support
for L2CAP and RFCOMM.

Bug:26039657
Change-Id: Idb860b367b429fa5ef41d02684a5494a668ee8ed

8 years agoMerge "service/client: implement connect and disconnect methods"
Jakub Pawlowski [Thu, 21 Jan 2016 00:54:57 +0000 (00:54 +0000)]
Merge "service/client: implement connect and disconnect methods"
am: 5fbbf42c5f

* commit '5fbbf42c5fdf387d7a0ecab1a621161e7b382576':
  service/client: implement connect and disconnect methods

8 years agoAdd missing field to fake Bluetooth interface
Ajay Panicker [Thu, 21 Jan 2016 00:54:52 +0000 (00:54 +0000)]
Add missing field to fake Bluetooth interface
am: 1cbff4e542

* commit '1cbff4e5423999a89072869bcba27d6e1608a2ae':
  Add missing field to fake Bluetooth interface

8 years agoAdd socket tx/rx accounting
Adam Lesinski [Thu, 3 Dec 2015 06:15:08 +0000 (22:15 -0800)]
Add socket tx/rx accounting

Records network traffic going over bluetooth sockets. This patch adds support
for L2CAP and RFCOMM.

Bug: 26039657
Change-Id: Id30d69e4cd648f0e88ab23517e3b94f29b393995

8 years agoMerge "service/client: implement connect and disconnect methods"
Jakub Pawlowski [Thu, 21 Jan 2016 00:35:34 +0000 (00:35 +0000)]
Merge "service/client: implement connect and disconnect methods"

8 years agoservice/client: implement connect and disconnect methods
Jakub Pawlowski [Wed, 20 Jan 2016 01:07:53 +0000 (17:07 -0800)]
service/client: implement connect and disconnect methods

Change-Id: I141e8a1a917adfe7a2eb1c8adaf5e09fad9df5ac

8 years agobt: Update libchrome APIs to r369476
Alex Vakulenko [Wed, 20 Jan 2016 23:32:40 +0000 (23:32 +0000)]
bt: Update libchrome APIs to r369476
am: 57d7bf98ea

* commit '57d7bf98ea5f7a08c93c30f5d8a0e303d78ea432':
  bt: Update libchrome APIs to r369476

8 years agoAdd missing field to fake Bluetooth interface
Ajay Panicker [Wed, 20 Jan 2016 22:42:20 +0000 (14:42 -0800)]
Add missing field to fake Bluetooth interface

Bug: 26686093
Change-Id: I09867ae073fb32165c64bf9d306b699c6bc843ee

8 years agobt: Update libchrome APIs to r369476
Alex Vakulenko [Wed, 20 Jan 2016 15:52:34 +0000 (07:52 -0800)]
bt: Update libchrome APIs to r369476

The new libchrome has been ported from Chromium and some APIs have
changed. Make necessary changes at call sites.

Change-Id: I988157d3a6e36ede6561c0fa6919bb756e8ed3dd

8 years agoservice: Expose Connect and Disconnect through IBluetothLowEnergy
Jakub Pawlowski [Wed, 20 Jan 2016 22:06:12 +0000 (22:06 +0000)]
service: Expose Connect and Disconnect through IBluetothLowEnergy
am: 455dc8f535

* commit '455dc8f535a719af6a65a7512d90f9db878f5a58':
  service: Expose Connect and Disconnect through IBluetothLowEnergy

8 years agoservice: Expose Connect and Disconnect through IBluetothLowEnergy
Jakub Pawlowski [Wed, 20 Jan 2016 01:00:16 +0000 (17:00 -0800)]
service: Expose Connect and Disconnect through IBluetothLowEnergy

Change-Id: Idcfd3fac263e61bc1bb2be97017554d552511765

8 years agoMerge "Add Connect and Disconnect methods to LowEnergyClient"
Jakub Pawlowski [Wed, 20 Jan 2016 21:51:36 +0000 (21:51 +0000)]
Merge "Add Connect and Disconnect methods to LowEnergyClient"
am: 740bebde86

* commit '740bebde86a474a198ceecd2204bf20fd322e671':
  Add Connect and Disconnect methods to LowEnergyClient

8 years agoMerge "service: add HAL for connect/disconnect"
Jakub Pawlowski [Wed, 20 Jan 2016 21:51:32 +0000 (21:51 +0000)]
Merge "service: add HAL for connect/disconnect"
am: 648393fe8a

* commit '648393fe8ac781cf54c7680138905b8f7737d91b':
  service: add HAL for connect/disconnect

8 years agoMerge "Add Connect and Disconnect methods to LowEnergyClient"
Jakub Pawlowski [Wed, 20 Jan 2016 21:45:47 +0000 (21:45 +0000)]
Merge "Add Connect and Disconnect methods to LowEnergyClient"

8 years agoMerge "service: add HAL for connect/disconnect"
Jakub Pawlowski [Wed, 20 Jan 2016 21:45:40 +0000 (21:45 +0000)]
Merge "service: add HAL for connect/disconnect"

8 years agoAdd Connect and Disconnect methods to LowEnergyClient
Jakub Pawlowski [Wed, 20 Jan 2016 00:42:37 +0000 (16:42 -0800)]
Add Connect and Disconnect methods to LowEnergyClient

Change-Id: Ibabfd44575b7ab1c8fc7a57b844956038dd571c4

8 years agoSupport for A2DP Sink - Follow-up fix
Pavlin Radoslavov [Wed, 20 Jan 2016 18:52:40 +0000 (18:52 +0000)]
Support for A2DP Sink - Follow-up fix
am: 69a34362c6

* commit '69a34362c65533155578623d30845b04fa6285b1':
  Support for A2DP Sink - Follow-up fix

8 years agoSupport for A2DP Sink - Follow-up fix
Pavlin Radoslavov [Wed, 20 Jan 2016 18:41:01 +0000 (10:41 -0800)]
Support for A2DP Sink - Follow-up fix

Update the code so it matches the corresponding code in the internal tree.

Change-Id: I7cb143cde31e2cfca54b2172737cf262ae478186

8 years ago Support for A2DP Sink and Proper initialization of profiles
Anubhav Gupta [Wed, 20 Jan 2016 01:14:09 +0000 (01:14 +0000)]
 Support for A2DP Sink and Proper initialization of profiles
am: 6b84f291c4  -s ours

* commit '6b84f291c4edce7e4102efd8d4052a63bcb4b9dc':
  Support for A2DP Sink and Proper initialization of profiles

8 years agoservice: add HAL for connect/disconnect
Jakub Pawlowski [Wed, 20 Jan 2016 00:35:20 +0000 (16:35 -0800)]
service: add HAL for connect/disconnect

Change-Id: I05b86af68e05433241d0206b0952d859483dee80

8 years ago Support for A2DP Sink and Proper initialization of profiles
Anubhav Gupta [Tue, 5 May 2015 07:45:07 +0000 (13:15 +0530)]
 Support for A2DP Sink and Proper initialization of profiles

 - Register SDP and SEP (Stream End Point) for the profile
   whose init is called. We achieve this by making registration
   api aware of profile id being called.
 - Register A2DP Src + Avrcp Target + Avrcp Controller. We need
   to support Absolute Volume as well, so Avrcp Controller is
   required here.
 - Register A2DP Sink + Avrcp Controller. In this case we do not
   support absolute volume. Support would be added in AVRCP
   controller change
 - Adapter property is updated with profile ID for which init is
   called.This is required to make changes in btService for Profile
   initialization
 - Start listening for incoming AVRCP connection if we have
   only AVRCP Controller
 - Update default peer_features based on feature mask. In case
   of incoming AVRCP connection, SDP will be done later.
   In such a scenario default peer features sent to btif should
   be based on  features-set selected during initialization.
 - Drop Control, Meta and Browse commands when TG is not up.
 - Not to call AVRCP app callbacks when mentioned service is down.
 - Close audio socket on suspend

A2DP Sink: Support for AudioTrack

 - implemetation for audiotrack to take care of audio rendering
 - support for audio focus state in bluedroid

Bluetooth: Support for Avrcp 1.3  Controller

- support for SDP registration
- support for sending vendor dependant commands
- support for abs vol
- support for receiving vendor dependant response
- serialization of connection and rc_features callback

Avrcp_Ctrl: handling of commands and events for AVRCP Controller

- support of parsing cmd and event pdus
- timeout handling

Change-Id: I1e8d49b087eff6301373e1e90e8d868f15847c34

8 years agoresolve merge conflicts of 760fb7083b to master.
Andre Eisenbach [Fri, 15 Jan 2016 20:23:15 +0000 (12:23 -0800)]
resolve merge conflicts of 760fb7083b to master.

Change-Id: Ic5d10e4a80d53f916ec61e75d01a0e08df6114cf

8 years agoMake list_foreach() more useful
Andre Eisenbach [Thu, 14 Jan 2016 05:20:59 +0000 (21:20 -0800)]
Make list_foreach() more useful

- Changed |callback| return type to bool to be able to interrupt
  iteration (to find specific elements for example).
- Added new |extra| parameter for |callback| so a pointer can be passed
  in to receive output values or to pass in criteria etc.
- Also added unit tests.

Change-Id: Id1ddcbabf55292f701d0277f2a1e9ec261b9fbde

8 years agoDo not send AT+CHLD=? if the 3-way call feature is not supported
Devin Kim [Fri, 15 Jan 2016 02:21:17 +0000 (02:21 +0000)]
Do not send AT+CHLD=? if the 3-way call feature is not supported
am: 15df6d411e

* commit '15df6d411e871e2e1366a3599bb990ce0cb9aae1':
  Do not send AT+CHLD=? if the 3-way call feature is not supported

8 years agoDo not send AT+CHLD=? if the 3-way call feature is not supported
Devin Kim [Thu, 14 Jan 2016 01:37:57 +0000 (10:37 +0900)]
Do not send AT+CHLD=? if the 3-way call feature is not supported

The HF shall not issue the AT+CHLD=? test command in case
either the HF or the AG does not support the Three-way calling feature.
Currently HF sends AT+CHLD=? to AG device when SLC sequence on going.
It affects to SCO statemachine so that after going out of range and
coming back in range while active call alives, SCO state goes bad and
never comes back. This is out of specification of HFP and it should be
fixed by checking peer and local 3way call capability check.

Bug: 25703926
Change-Id: I66adac2345c6fb0df6741fdbfa67d9483fc38a00

8 years ago Support for A2DP Sink and Proper initialization of profiles
Anubhav Gupta [Tue, 5 May 2015 07:45:07 +0000 (13:15 +0530)]
 Support for A2DP Sink and Proper initialization of profiles

 - Register SDP and SEP (Stream End Point) for the profile
   whose init is called. We achieve this by making registration
   api aware of profile id being called.
 - Register A2DP Src + Avrcp Target + Avrcp Controller. We need
   to support Absolute Volume as well, so Avrcp Controller is
   required here.
 - Register A2DP Sink + Avrcp Controller. In this case we do not
   support absolute volume. Support would be added in AVRCP
   controller change
 - Adapter property is updated with profile ID for which init is
   called.This is required to make changes in btService for Profile
   initialization
 - Start listening for incoming AVRCP connection if we have
   only AVRCP Controller
 - Update default peer_features based on feature mask. In case
   of incoming AVRCP connection, SDP will be done later.
   In such a scenario default peer features sent to btif should
   be based on  features-set selected during initialization.
 - Drop Control, Meta and Browse commands when TG is not up.
 - Not to call AVRCP app callbacks when mentioned service is down.
 - Close audio socket on suspend

A2DP Sink: Support for AudioTrack

 - implemetation for audiotrack to take care of audio rendering
 - support for audio focus state in bluedroid

Bluetooth: Support for Avrcp 1.3  Controller

- support for SDP registration
- support for sending vendor dependant commands
- support for abs vol
- support for receiving vendor dependant response
- serialization of connection and rc_features callback

Avrcp_Ctrl: handling of commands and events for AVRCP Controller

- support of parsing cmd and event pdus
- timeout handling

Change-Id: I1e8d49b087eff6301373e1e90e8d868f15847c34

8 years agoservice: Implement IBinder.dump()
Marie Janssen [Thu, 14 Jan 2016 21:13:23 +0000 (21:13 +0000)]
service: Implement IBinder.dump()
am: dff1aa9fe7

* commit 'dff1aa9fe7d305a94e0de0e9d70ca22504fabcf0':
  service: Implement IBinder.dump()

8 years agoservice: Implement IBinder.dump()
Marie Janssen [Mon, 14 Dec 2015 20:12:57 +0000 (12:12 -0800)]
service: Implement IBinder.dump()

Add dump() support to BluetoothBinderServer and change IBluetooth
implementation to allow the system to call it correctly.

Bug: 26095165
Change-Id: I32ca78e37484b5d748b8caf4c293aafcf01dfbff

8 years agoMerge "service: Add RegisterTestClient"
Jakub Pawlowski [Thu, 14 Jan 2016 21:02:32 +0000 (21:02 +0000)]
Merge "service: Add RegisterTestClient"
am: f6e78042f7

* commit 'f6e78042f78ba5bd804a823193fef9206612858c':
  service: Add RegisterTestClient

8 years agoMerge "service: Add RegisterTestClient"
Jakub Pawlowski [Thu, 14 Jan 2016 20:51:24 +0000 (20:51 +0000)]
Merge "service: Add RegisterTestClient"

8 years agoservice: add scan support to bluetooth-cli
Jakub Pawlowski [Wed, 13 Jan 2016 23:58:52 +0000 (23:58 +0000)]
service: add scan support to bluetooth-cli
am: ba197a21d8

* commit 'ba197a21d810b0ef814ed9c23dd3b290613751c7':
  service: add scan support to bluetooth-cli

8 years agoservice: Add LE scan result support to Binder API
Arman Uguray [Wed, 13 Jan 2016 23:58:49 +0000 (23:58 +0000)]
service: Add LE scan result support to Binder API
am: 45480a0c51

* commit '45480a0c515da83d0b9d3488beea07a00b19aea1':
  service: Add LE scan result support to Binder API

8 years agoservice: Add LE scan support to Binder API
Arman Uguray [Wed, 13 Jan 2016 23:50:27 +0000 (23:50 +0000)]
service: Add LE scan support to Binder API
am: 6dc92022a0

* commit '6dc92022a02423778975e96363fcae787d47374a':
  service: Add LE scan support to Binder API

8 years agoservice: Add RegisterTestClient
Jakub Pawlowski [Wed, 13 Jan 2016 23:41:06 +0000 (15:41 -0800)]
service: Add RegisterTestClient

Extract registration code into separate helper, that'll be used in
tests that require more than one client.

Bug: 25744656
Change-Id: Ib3ceac8bba02cf1eb83f4265849ec423ad588e42

8 years agoservice: add scan support to bluetooth-cli
Jakub Pawlowski [Wed, 13 Jan 2016 19:28:08 +0000 (11:28 -0800)]
service: add scan support to bluetooth-cli

Adde the start-le-scan and stop-le-scan commands to
bluetooth-cli for testing.

Bug: 25744656
Change-Id: I02d42fcca071eebefd82f027cd9b89af27116a00

8 years agoservice: Add LE scan result support to Binder API
Arman Uguray [Thu, 3 Dec 2015 01:39:14 +0000 (17:39 -0800)]
service: Add LE scan result support to Binder API

Added Binder API documentation, bindings, and logic for BLE device
scan result.

Bug: 25744656
Change-Id: I5130a6b47438e266fab4a7b52b5372909824bc81

8 years agoservice: Add LE scan support to Binder API
Arman Uguray [Thu, 3 Dec 2015 01:39:14 +0000 (17:39 -0800)]
service: Add LE scan support to Binder API

Added Binder API documentation, bindings, and logic for BLE device
scans. Also added the start-le-scan and stop-le-scan commands to
bluetooth-cli for testing.

Bug: 25744656
Change-Id: I08c9d23ddd78cff1702495cf6d431cf5b9a7b894

8 years agoMerge "service: Add OnScanResult Delegate event."
Jakub Pawlowski [Wed, 13 Jan 2016 23:13:51 +0000 (23:13 +0000)]
Merge "service: Add OnScanResult Delegate event."
am: c18c15db15

* commit 'c18c15db150bf315226b2f4c1768605fdc983426':
  service: Add OnScanResult Delegate event.

8 years agoMerge "service: Add Start|StopScan API to LowEnergyClient"
Jakub Pawlowski [Wed, 13 Jan 2016 23:13:48 +0000 (23:13 +0000)]
Merge "service: Add Start|StopScan API to LowEnergyClient"
am: 7effa54c8f

* commit '7effa54c8fbe4cbf18a7d3fde99053b58e93f929':
  service: Add Start|StopScan API to LowEnergyClient

8 years agoMerge "service: Parametrize LowEnergyClient with Adapter for tests"
Jakub Pawlowski [Wed, 13 Jan 2016 23:13:43 +0000 (23:13 +0000)]
Merge "service: Parametrize LowEnergyClient with Adapter for tests"
am: a1bcabda3c

* commit 'a1bcabda3c80f0a95b49506554788d23636eb0a9':
  service: Parametrize LowEnergyClient with Adapter for tests

8 years agoMerge "service: Add OnScanResult Delegate event."
Jakub Pawlowski [Wed, 13 Jan 2016 23:00:59 +0000 (23:00 +0000)]
Merge "service: Add OnScanResult Delegate event."

8 years agoOffload config save functionality to BTIF thread
Srinu Jella [Wed, 13 Jan 2016 23:00:46 +0000 (23:00 +0000)]
Offload config save functionality to BTIF thread
am: 32b3a8a408

* commit '32b3a8a408b23aa28324ad9f56654c98fe2ac914':
  Offload config save functionality to BTIF thread

8 years agoMerge "service: Add Start|StopScan API to LowEnergyClient"
Jakub Pawlowski [Wed, 13 Jan 2016 23:00:35 +0000 (23:00 +0000)]
Merge "service: Add Start|StopScan API to LowEnergyClient"

8 years agoMerge "service: Parametrize LowEnergyClient with Adapter for tests"
Jakub Pawlowski [Wed, 13 Jan 2016 23:00:16 +0000 (23:00 +0000)]
Merge "service: Parametrize LowEnergyClient with Adapter for tests"

8 years agoOffload config save functionality to BTIF thread
Srinu Jella [Thu, 24 Dec 2015 12:10:52 +0000 (17:40 +0530)]
Offload config save functionality to BTIF thread

Offload config save functionality to btif thread from
timer thread as timer callback thread is critical in
a2dp playback case.

If the timer callback thread is busy in config save due
to IO operations, it may lead to a2dp audio choppy.

Fix to avoid the "bt_config.conf" file corruption from
the file system. This will avoid losing the paired
information in some corner case, such as abrupt power
off and on. This patch will ensure bt_config is saved to
NVRAM.

Bug: 24875861
CRs-Fixed: 953993
Change-Id: I893e9afefa89cbab6e7ddd8835ca77d3e316874c

8 years agoCorrectly verify return value of BTM_CancelInquiry
Yan Laijun [Wed, 13 Jan 2016 22:23:36 +0000 (22:23 +0000)]
Correctly verify return value of BTM_CancelInquiry
am: 4fc9732527

* commit '4fc97325278c6ce3c78b14ec26f32b85a15e784e':
  Correctly verify return value of BTM_CancelInquiry

8 years agoCorrectly verify return value of BTM_CancelInquiry
Yan Laijun [Wed, 13 Jan 2016 14:28:01 +0000 (22:28 +0800)]
Correctly verify return value of BTM_CancelInquiry

Change-Id: Iefb38023bc2b3e390eec14516f954e36f34ed5b4
Signed-off-by: Yan Laijun <yan.laijun@gmail.com>
8 years agoservice: Add OnScanResult Delegate event.
Arman Uguray [Thu, 3 Dec 2015 01:29:27 +0000 (17:29 -0800)]
service: Add OnScanResult Delegate event.

Added the LowEnergyClient::Delegate class and implemented scan result
reporting via the OnScanResult Delegate event.

Bug: 25744656
Change-Id: I050118c4f6761a7a32fa3ec8d9a1b41126a4c3ae

8 years agoservice: Add Start|StopScan API to LowEnergyClient
Arman Uguray [Mon, 30 Nov 2015 23:36:17 +0000 (15:36 -0800)]
service: Add Start|StopScan API to LowEnergyClient

Added the StartScan and StopScan methods to LowEnergyClient and basic unit
tests. This currently only supports regular scans with no batch scan or
hw/sw filters.

Bug: 25744656
Change-Id: Iddf6e897377f90a5eef81ef36696b1d7074a7dab

8 years agoservice/hal: Add per-client Scan interface
Arman Uguray [Wed, 13 Jan 2016 21:58:17 +0000 (21:58 +0000)]
service/hal: Add per-client Scan interface
am: 3f6aa07299

* commit '3f6aa07299fd9db634274fd22821b349f18b5e0f':
  service/hal: Add per-client Scan interface

8 years agoservice: Parametrize LowEnergyClient with Adapter for tests
Jakub Pawlowski [Tue, 12 Jan 2016 21:51:35 +0000 (13:51 -0800)]
service: Parametrize LowEnergyClient with Adapter for tests

Bug: 25744656
Change-Id: I4eee8098c264c2135c2bb4f02a2319ba0dfec978

8 years agoservice/hal: Add per-client Scan interface
Arman Uguray [Mon, 30 Nov 2015 22:58:11 +0000 (14:58 -0800)]
service/hal: Add per-client Scan interface

Added a new per-client scan function to hal::BluetoothGattInterface.
The intention here is to push most of the per-client reference counting,
scan settings and filter coalescence below the HAL. This CL does this
first inside the Bluetooth daemon's HAL wrappers in a way that
represents what the future HAL scan API might look like.

This implements a basic reference counting scheme to share the global
controller scan session among different clients.

Bug: 25744656
Change-Id: I20c5cfc291be70d72576ebee014cc13544d5a299

8 years agoservice: use client_id instead of client_if
Jakub Pawlowski [Wed, 13 Jan 2016 18:46:24 +0000 (18:46 +0000)]
service: use client_id instead of client_if
am: 6d596c0729

* commit '6d596c072995a876414b55a0471ef13146053b9c':
  service: use client_id instead of client_if

8 years agoservice: use client_id instead of client_if
Jakub Pawlowski [Wed, 13 Jan 2016 18:19:34 +0000 (10:19 -0800)]
service: use client_id instead of client_if

Change-Id: Id045c81f748c99ab0525ce8869ef9cdd0207712e

8 years agoMerge "service: Rename variable holding advertisement settings"
Jakub Pawlowski [Tue, 12 Jan 2016 23:03:25 +0000 (23:03 +0000)]
Merge "service: Rename variable holding advertisement settings"
am: 8b3e3ed3d9

* commit '8b3e3ed3d9f9bc12c3ffeb380ca68ed3b5852ef6':
  service: Rename variable holding advertisement settings

8 years agoMerge "service: Rename variable holding advertisement settings"
Jakub Pawlowski [Tue, 12 Jan 2016 22:58:03 +0000 (22:58 +0000)]
Merge "service: Rename variable holding advertisement settings"

8 years agoservice: Rename variable holding advertisement settings
Jakub Pawlowski [Tue, 12 Jan 2016 21:43:33 +0000 (13:43 -0800)]
service: Rename variable holding advertisement settings

There will be more variables with settings. Make sure they
all have unique meaningful names.

Change-Id: I4b23fd3fa5a16f9132801b9141e4f8ed0be33be7

8 years agoMerge "Additional headsets blacklisted for absolute volume"
Andre Eisenbach [Tue, 12 Jan 2016 19:49:19 +0000 (19:49 +0000)]
Merge "Additional headsets blacklisted for absolute volume"
am: 7632bee5a5

* commit '7632bee5a5a5ee501efe188f36a05dd830842072':
  Additional headsets blacklisted for absolute volume

8 years agoMerge "Additional headsets blacklisted for absolute volume"
Andre Eisenbach [Tue, 12 Jan 2016 19:31:12 +0000 (19:31 +0000)]
Merge "Additional headsets blacklisted for absolute volume"

8 years agoservice: Make Adapter mockable.
Arman Uguray [Tue, 12 Jan 2016 18:56:45 +0000 (18:56 +0000)]
service: Make Adapter mockable.
am: 0a0d393213

* commit '0a0d3932136995a722cc125ef920679113d8ce0f':
  service: Make Adapter mockable.

8 years agoservice: Make Adapter mockable.
Arman Uguray [Thu, 19 Nov 2015 23:57:57 +0000 (15:57 -0800)]
service: Make Adapter mockable.

Turned the Adapter class into an abstract interface so that we
can inject a mock Adapter in tests where there is an Adapter dependency
but where we don't care about side-effects/stack-calls created from the
Adapter.

Bug: 25744656

Change-Id: Ibf7dd9a4cc1008cbb36e60f7b87cfcb4ef2bd5d8

8 years agoAdditional headsets blacklisted for absolute volume
Andre Eisenbach [Tue, 12 Jan 2016 02:06:44 +0000 (18:06 -0800)]
Additional headsets blacklisted for absolute volume

Bug: 26070064
Change-Id: Ida1faec964982a4630f42ab378fe5b6dd6e21c16

8 years agoAssert on memory allocation failure
Andre Eisenbach [Mon, 11 Jan 2016 22:25:45 +0000 (22:25 +0000)]
Assert on memory allocation failure
am: c02acb7761

* commit 'c02acb7761d2539ab83c6eff22b7de5b5da51b78':
  Assert on memory allocation failure

8 years agoAssert on memory allocation failure
Andre Eisenbach [Mon, 11 Jan 2016 20:24:14 +0000 (12:24 -0800)]
Assert on memory allocation failure

This CL is a pre-cursor to cleaning up repeated memory allocation code
full of null-pointer checks. In the vast majority of cases in the
Bluetooth stack, a failed allocation is not recoverable and results in
undefined behaviour. By asserting, we can ensure we have a shot at
catching and fixing any issues not caused by OOM conditions.

Bug: 26494317
Change-Id: I53dff98c596068211934a1808f90de2d4484f952

8 years agoMerge "service: Add global scan support getters"
Jakub Pawlowski [Mon, 11 Jan 2016 22:19:45 +0000 (22:19 +0000)]
Merge "service: Add global scan support getters"
am: 9f41ecbcb4

* commit '9f41ecbcb4a89ce64dbf1f046501ed78931b6db3':
  service: Add global scan support getters

8 years agoMerge "service: Add global scan support getters"
Jakub Pawlowski [Mon, 11 Jan 2016 22:15:47 +0000 (22:15 +0000)]
Merge "service: Add global scan support getters"

8 years agoImplement OOB pairing for LE devices using TK.
Jakub Pawlowski [Thu, 7 Jan 2016 23:36:23 +0000 (23:36 +0000)]
Implement OOB pairing for LE devices using TK.
am: 1a5bb5f303

* commit '1a5bb5f30385af44d11ffba10e0f5af79f0ae422':
  Implement OOB pairing for LE devices using TK.

8 years agoImplement OOB pairing for LE devices using TK.
Jakub Pawlowski [Tue, 1 Dec 2015 20:14:22 +0000 (12:14 -0800)]
Implement OOB pairing for LE devices using TK.

This patch implements OOB pairing for LE devices using TK. Patches
for other pairing methods, and other transports will follow.

Bug: 22932952
Change-Id: Iad3c0c035de3b5a62ef24d3e3b655773fa03d5c1

8 years agoAdd script to change data types to native C types
Andre Eisenbach [Thu, 7 Jan 2016 22:24:54 +0000 (22:24 +0000)]
Add script to change data types to native C types
am: 86b76c6241

* commit '86b76c6241ec2b0af06ab93300cfc51a5865021d':
  Add script to change data types to native C types

8 years agoAdd script to change data types to native C types
Andre Eisenbach [Wed, 30 Dec 2015 01:49:01 +0000 (17:49 -0800)]
Add script to change data types to native C types

Please see source code for usage information and application.

Bug: 22948224
Change-Id: Ia2dbd618ddcdf13abf3c63d4649147f400e00cfe

8 years agoA2DP task media alarm non-null protection
Ajay Panicker [Thu, 7 Jan 2016 22:09:10 +0000 (22:09 +0000)]
A2DP task media alarm non-null protection
am: e04dbb3707

* commit 'e04dbb3707806be965f5669d3213263c0178ef26':
  A2DP task media alarm non-null protection

8 years agoA2DP task media alarm non-null protection
Ajay Panicker [Wed, 6 Jan 2016 20:11:05 +0000 (12:11 -0800)]
A2DP task media alarm non-null protection

Prevent the alarm from being started multiple times.

Bug: 26277592
Change-Id: I764f93bab5490bf5f3942a1beb706457197d3ec1

8 years agonet_test_bluetooth: fix inconsistency in set/get name test
Ajay Panicker [Wed, 6 Jan 2016 18:47:43 +0000 (18:47 +0000)]
net_test_bluetooth: fix inconsistency in set/get name test
am: 19cd152d2f

* commit '19cd152d2fcf441b069672adbed517ec920f419c':
  net_test_bluetooth: fix inconsistency in set/get name test

8 years agonet_test_bluetooth: fix inconsistency in set/get name test
Ajay Panicker [Tue, 5 Jan 2016 23:03:19 +0000 (15:03 -0800)]
net_test_bluetooth: fix inconsistency in set/get name test

Fixed an issue where the set/get name test would fail every so often
due to the fact that the old name property would become invalid after
the properties array was freed.

Bug: 25793348
Change-Id: I4513219da2fb947b3b199f25a61c308b9fced8b6

8 years agoFix bug where a bonded device could enter BONDING and BONDED states again.
Sharvil Nanavati [Wed, 6 Jan 2016 18:02:26 +0000 (18:02 +0000)]
Fix bug where a bonded device could enter BONDING and BONDED states again.
am: 0b7fc58908

* commit '0b7fc589089ce4a96daa668b9d293ce01982424d':
  Fix bug where a bonded device could enter BONDING and BONDED states again.

8 years agoFix bug where a bonded device could enter BONDING and BONDED states again.
Sharvil Nanavati [Wed, 6 Jan 2016 00:23:02 +0000 (16:23 -0800)]
Fix bug where a bonded device could enter BONDING and BONDED states again.

The following sequence of events was observed:
- start bonding with device A
- bond state for A goes from 10 -> 11 -> 12
- everyone's happy
- start bonding with device B
- bond state for B goes from 10 -> 11
- bond state for A goes from 12 -> 11 -> 12

The bond state for A should not have been changed in the last step
since it was not participating in any bonding procedure at the time.

The above sequence can be reproduced if a device D bonds with
A and takes on the slave role and then D bonds with B and switches
to a master role. When D performs the role switch, it receives an
updated link key from A.

Since the link key update procedure is tied in with the pairing flow,
we see spurious bond state changes. This CL checks the pairing control
block to see if D is, in fact, pairing with A and if not, it skips the
bond state updates.

Bug: 25870383
Change-Id: Ic6ff548dbe4e960c965bdc9ef5c50a263b9b3b22

8 years agoBluetooth: Remove std=c++11
Andreas Gampe [Wed, 6 Jan 2016 00:40:47 +0000 (00:40 +0000)]
Bluetooth: Remove std=c++11
am: 32579680eb

* commit '32579680eb9c52fa58b3eb7e3fd8a7de8f264983':
  Bluetooth: Remove std=c++11

8 years agoBluetooth: Remove std=c++11
Andreas Gampe [Wed, 6 Jan 2016 00:29:05 +0000 (16:29 -0800)]
Bluetooth: Remove std=c++11

It's the default now.

Change-Id: Ice463e6e74d56bffd00a80824721dbe57241ea06

8 years agoMerge "Bluetooth: Silence unused-parameter warning"
Andreas Gampe [Tue, 5 Jan 2016 22:14:23 +0000 (22:14 +0000)]
Merge "Bluetooth: Silence unused-parameter warning"
am: 9a7624c052

* commit '9a7624c05228aafd3933eec73baf5a64d3b76f63':
  Bluetooth: Silence unused-parameter warning

8 years agoMerge "Bluetooth: Silence unused-parameter warning"
Andreas Gampe [Tue, 5 Jan 2016 22:10:20 +0000 (22:10 +0000)]
Merge "Bluetooth: Silence unused-parameter warning"

8 years agoBluetooth: Silence unused-parameter warning
Andreas Gampe [Tue, 5 Jan 2016 21:52:00 +0000 (13:52 -0800)]
Bluetooth: Silence unused-parameter warning

Silence these for now. Reduce build noise.

Change-Id: I787c31f60c8d24e3dd2bae8d1acaa7592b7e29ba

8 years agoMerge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false"
Sharvil Nanavati [Tue, 5 Jan 2016 18:06:25 +0000 (18:06 +0000)]
Merge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false"
am: c0231ad1f9

* commit 'c0231ad1f96ac76cf31db0afde550bfc10b6ac7a':
  Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false

8 years agoMerge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false"
Sharvil Nanavati [Tue, 5 Jan 2016 18:01:59 +0000 (18:01 +0000)]
Merge "Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false"

8 years agoMerge "Fix crash in HFP client\'s +COPS parsing code."
Sharvil Nanavati [Tue, 5 Jan 2016 17:02:29 +0000 (17:02 +0000)]
Merge "Fix crash in HFP client\'s +COPS parsing code."
am: 83702c9ac1

* commit '83702c9ac1c825161e1163cbfb238215a076abd5':
  Fix crash in HFP client's +COPS parsing code.

8 years agoOnly send first 16 characters of operator name in +COPS.
Sharvil Nanavati [Tue, 5 Jan 2016 17:02:21 +0000 (17:02 +0000)]
Only send first 16 characters of operator name in +COPS.
am: a459df848e

* commit 'a459df848e03b0f2fb3f15d54404b48b94cff560':
  Only send first 16 characters of operator name in +COPS.

8 years agoMerge "Fix crash in HFP client's +COPS parsing code."
Sharvil Nanavati [Tue, 5 Jan 2016 16:58:05 +0000 (16:58 +0000)]
Merge "Fix crash in HFP client's +COPS parsing code."

8 years agoFix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false
Sharvil Nanavati [Thu, 17 Dec 2015 14:23:19 +0000 (06:23 -0800)]
Fix absolute volume reporting if AVRC_ADV_CTRL_INCLUDED is false

Without this change, setting AVRC_ADV_CTRL_INCLUDED to false would
result in the native code reporting the remote device supports
absolute volume even though we don't.

Bug: 26070064
Change-Id: I5b88fa0adb89983de28a216898a1d8957fa454a1

8 years agoFix crash in HFP client's +COPS parsing code.
Sharvil Nanavati [Tue, 5 Jan 2016 01:21:05 +0000 (17:21 -0800)]
Fix crash in HFP client's +COPS parsing code.

If the Audio Gateway sends a malformed +COPS message (an operator
name > 16 characters) then the %n in sscanf format specifier is
ignored and sscanf will not assign a value to the appropriate
argument.

In such a case, the existing code will perform pointer arithmetic
using an uninitialized stack variable as an offset which may result
in pointing to an invalid memory address. When that memory is
subsequently dereferenced, we observe a crash.

This change ensures that the stack does not crash even if an invalid
+COPS message is sent from the Audio Gateway.

Bug: 24871011
Change-Id: I9bb42c75bcd90487831fc6950c571c87098559e7

8 years agoOnly send first 16 characters of operator name in +COPS.
Sharvil Nanavati [Tue, 5 Jan 2016 01:15:18 +0000 (17:15 -0800)]
Only send first 16 characters of operator name in +COPS.

According to the HFP spec, the operator name is required to be at
most 16 characters long.

Bug: 24871011
Change-Id: I9987de57a327348fc2203b9502e9df446a87793f