OSDN Git Service

android-x86/system-bt.git
7 years agoMerge "Allow HID Device to connect to a specific device" am: 7bd36a3588
Ivan Podogov [Wed, 4 Jan 2017 13:02:32 +0000 (13:02 +0000)]
Merge "Allow HID Device to connect to a specific device" am: 7bd36a3588
am: eb3b067176

Change-Id: Ibe54b32b104d2deff108d84fd4e169951427df00

7 years agoMerge "Allow HID Device to connect to a specific device"
Ivan Podogov [Wed, 4 Jan 2017 13:00:03 +0000 (13:00 +0000)]
Merge "Allow HID Device to connect to a specific device"
am: 7bd36a3588

Change-Id: Ib9155090374c80102ee9874b4c692955ce1b60de

7 years agoMerge "Allow HID Device to connect to a specific device"
Treehugger Robot [Wed, 4 Jan 2017 12:56:49 +0000 (12:56 +0000)]
Merge "Allow HID Device to connect to a specific device"

7 years agoAdd a mechanism for configuring the A2DP Source codecs am: 5ce0116fbf
Pavlin Radoslavov [Wed, 4 Jan 2017 03:44:55 +0000 (03:44 +0000)]
Add a mechanism for configuring the A2DP Source codecs am: 5ce0116fbf
am: 273ec136db

Change-Id: I59afb85f04d42a4339b058d8e73511dfd4fecff7

7 years agoAdd a mechanism for configuring the A2DP Source codecs
Pavlin Radoslavov [Wed, 4 Jan 2017 03:40:07 +0000 (03:40 +0000)]
Add a mechanism for configuring the A2DP Source codecs
am: 5ce0116fbf

Change-Id: Ieacf4534900cf360aaa32d676d42e13d0cb80498

7 years agoAdd a mechanism for configuring the A2DP Source codecs
Pavlin Radoslavov [Mon, 5 Dec 2016 21:02:26 +0000 (13:02 -0800)]
Add a mechanism for configuring the A2DP Source codecs

* Codec config internal abstraction:
 - Add new classes A2dpCodecConfig and A2dpCodecs that (will)
   encapsulate all codec-related APIs
 - Add unit tests for the above two classes
 - Add method A2dpCodecConfig.buildCodecConfig(), and use it when
   creating the codec configuration instead of A2DP_InitSource2SinkCodec().
   The new method can build the codec config by taking into account
   optional user codec-related configuration preferences.
 - Use the A2DP codec config API from the hardware/libhardware bt_av.h API
 - Replace enum tA2DP_CODEC_SEP_INDEX with btav_a2dp_codec_index_t
   from the bt_av.h API
 - Move codec-specific functions from stack/include/a2dp_api.h
   and stack/a2dp/a2dp_api.cc to stack/include/a2dp_codec_api.h
   and stack/a2dp/a2dp_codec_config.cc
 - Create a new base class A2dpCodecConfig() to hold some of the
   codec-related state, and implement the corresponding A2dpCodecConfigSbc
   and A2dpCodecConfigSbcSink derived classes.
 - Move A2DP spec-related constants from stack/include/a2dp_api.h
   to stack/include/a2dp_constants.h
 - Move A2DP-related error codes from stack/include/a2dp_api.h
   to stack/include/a2dp_error_codes.h
 - Move A2DP SBC spec-related constants from stack/include/a2dp_sbc.h to
   stack/include/a2dp_sbc_constants.h

* Implement the backend mechanism for handling user (re)configuration of
  A2DP Source codecs as requested via the JNI API calls.
  Also, any codec changes are reported back via JNI API callbacks.
  The current audio parameter selection (sample rate, bits per
  sample, channel mode - mono/stereo) is as follows:
  - If the user selected parameters are acceptable (based on
    local codec capability and the remote Sink capability),
    those parameters are used.
  - Else if the Audio HAL's requested parameters are acceptable,
    those are used.
  - Else if the default settings are acceptable, those are used.
  - Else use the best match among the local and the remote device's
    capabilities.

* Update the mechanism for handling OTA configuration requests from the
  remote Sink device.
  - The OTA prefered codec configuration is ignored if the current
  codec configuration contains explicit user configuration, or if the
  codec configuration for the same codec contains explicit user
  configuration.

* Refactor the Audio HAL <-> Bluetooth audio parameter negotiation
  mechanism:
  The new mechanism gives some flexibility to the Media Framework to
  choose the appropriate audio format (sample rate, bits per sample,
  and channel mode - mono/stereo), and at the same time allows
  the Bluetooth stack to double-check / overwrite the choice.
 - out_get_parameters() on the Audio HAL side asks the Bluetooth stack
   for all currently supported formats (for the current codec),
   and returns them to the Media Framework: sample rate, bits per sample,
   and channel mode (mono/stereo).
 - The first time adev_open_output_stream() is called on the Audio HAL,
   it asks the Bluetooth stack about the audio format currently selected
   by the Bluetooth stack (based on codec negotiation with the Sink device,
   and User Configuration).
 - The second time adev_open_output_stream() is called on the Audio HAL,
   its "config" will eventually contain the audio format selected
   internally by the Media Framework. That audio format is sent to the
   Bluetooth stack.
   If that format is acceptable to the Bluetooth stack, the Bluetooth
   stack will reconfigure itself internally, and will respond back with
   those values. Otherwise, it will respond back with the values that
   should be used instead.

* Misc other fixes and refactoring:
 - Fix the BTA handling of A2DP codec reconfiguration
 - Fix a bug in the implementation of A2DP_BitsSet(), and add the
   approriate unit test. Also, fix the code that was using this function
   incorrectly.
 - The SBC encoder is compiled as a separate library
 - Replace leftover usage of "false" with "FALSE" for macros, and
   vice-versa for variable values.

Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: I440b6126e2250e33b0075f9789dd93154c007c2b

7 years agoFix failling ClosureTest am: dec747b3ba
Jakub Pawlowski [Tue, 3 Jan 2017 23:50:39 +0000 (23:50 +0000)]
Fix failling ClosureTest am: dec747b3ba
am: c1c60d7adb

Change-Id: Id16dc5b5fb87c091f63c56e30c10e1b8b069a72f

7 years agoFix failling ClosureTest
Jakub Pawlowski [Tue, 3 Jan 2017 23:48:40 +0000 (23:48 +0000)]
Fix failling ClosureTest
am: dec747b3ba

Change-Id: Ide2dd751115739bcfe8c2966d993c1cd750e0966

7 years agoFix failling ClosureTest
Jakub Pawlowski [Tue, 3 Jan 2017 21:53:34 +0000 (13:53 -0800)]
Fix failling ClosureTest

BTA closure doesn't keep the HDR messages any more, test have keep track
of HDR pointers for itself.

Bug: 33947176
Test: test/run_unit_tests.sh  net_test_bta
Change-Id: I32994f248dc2e082bf8bed426a32acf677c58ed5

7 years agoAllow HID Device to connect to a specific device
Ivan Podogov [Fri, 30 Dec 2016 15:19:48 +0000 (15:19 +0000)]
Allow HID Device to connect to a specific device

With this change, when the app requests a connection to a
specific device, it is always "plugged" first.
Unplugging the previous device is left for the app to do.

Test: make
Change-Id: I2e27c12e2ee96d0c311615a3853d8c430f3b2c31

7 years agoLE scanner BTA layer simplification am: e396065650
Jakub Pawlowski [Fri, 30 Dec 2016 06:38:03 +0000 (06:38 +0000)]
LE scanner BTA layer simplification am: e396065650
am: bd30498a67

Change-Id: I73443a88db24eb205f5a9be89ddc03a5c83d0a8f

7 years agoMerge "Fix race condition in do_in_bta_thread" am: 8534bc3889
Jakub Pawlowski [Fri, 30 Dec 2016 06:37:48 +0000 (06:37 +0000)]
Merge "Fix race condition in do_in_bta_thread" am: 8534bc3889
am: f04e67601b

Change-Id: Ic45c73dafcc99ca315bcc399e9c022b09e9a32a2

7 years agoLE scanner BTA layer simplification
Jakub Pawlowski [Fri, 30 Dec 2016 06:30:35 +0000 (06:30 +0000)]
LE scanner BTA layer simplification
am: e396065650

Change-Id: If42006688b29d3bae5345ced48d43bb74fc52335

7 years agoMerge "Fix race condition in do_in_bta_thread"
Jakub Pawlowski [Fri, 30 Dec 2016 06:30:17 +0000 (06:30 +0000)]
Merge "Fix race condition in do_in_bta_thread"
am: 8534bc3889

Change-Id: Ia6c5aa8e2bbd7b0288dd999cdc7c03bf1092b1ae

7 years agoLE scanner BTA layer simplification
Jakub Pawlowski [Thu, 29 Dec 2016 09:23:52 +0000 (01:23 -0800)]
LE scanner BTA layer simplification

BTA layer for scanner is very complicated. This patch simplifies it:
* get rid of type redeclarations for BTM types
* get rid of trivial *_act methods and call BTM API directly where possible

Bug: 30622771
Test: slra FilterTest
Change-Id: I3899b30074b2abc4a3945c5cc14f1bb40a504876

7 years agoMerge "Fix race condition in do_in_bta_thread"
Jakub Pawlowski [Fri, 30 Dec 2016 06:25:08 +0000 (06:25 +0000)]
Merge "Fix race condition in do_in_bta_thread"

7 years agoFix race condition in do_in_bta_thread
Jakub Pawlowski [Thu, 29 Dec 2016 06:45:34 +0000 (22:45 -0800)]
Fix race condition in do_in_bta_thread

Attach posted_task to the HDR message, instead of using a queue.

Bug: 33947176
Test: re-run sl4a FilteringTest 3 times with no flakiness
Change-Id: If0b69e82d11eeae52ac8e591bebff634073251f1

7 years agoHIDD: Add support for HID Device Role am: 8843cc830b
Hemant Gupta [Thu, 29 Dec 2016 19:45:21 +0000 (19:45 +0000)]
HIDD: Add support for HID Device Role am: 8843cc830b
am: bea2ce4272

Change-Id: I6ab2e90add16080b60ec6d291b41b48602117e16

7 years agoHIDD: Add support for HID Device Role
Hemant Gupta [Thu, 29 Dec 2016 19:39:01 +0000 (19:39 +0000)]
HIDD: Add support for HID Device Role
am: 8843cc830b

Change-Id: I9f5b818dc50c8a99502bb2373db31ef8557d598a

7 years agoHIDD: Add support for HID Device Role
Hemant Gupta [Fri, 18 Apr 2014 07:04:55 +0000 (12:34 +0530)]
HIDD: Add support for HID Device Role

This patch adds support for HID Device role in bluedroid stack allowing
DUT to be used as Keyboard or Mouse.

Bug: 33011576
Change-Id: I45b581a54f6c7bbc1f25226715a7ea23e34255c0

7 years agoHCI interface improvements am: dabf8d36c6
Jakub Pawlowski [Thu, 29 Dec 2016 05:33:23 +0000 (05:33 +0000)]
HCI interface improvements am: dabf8d36c6
am: bd2c51d6c8

Change-Id: I9b811b9f4ab3676f0a950ef372e65527426af7d8

7 years agoHCI interface improvements
Jakub Pawlowski [Thu, 29 Dec 2016 05:24:51 +0000 (05:24 +0000)]
HCI interface improvements
am: dabf8d36c6

Change-Id: I0d78a25eaacd0dc45ac7cd76eedfc0a374c0a36f

7 years agoHCI interface improvements
Jakub Pawlowski [Wed, 28 Dec 2016 12:47:37 +0000 (04:47 -0800)]
HCI interface improvements

This patch improves btu_hcif_send_cmd_with_cb, which will accept
base::Callback instead of function pointer as argument. It will also
carry information about where was packet send from, which can be
displayed when command status is received, greatly improving logs.

The improved method is also used for handling VSC advertising.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertiserTest
Change-Id: I55c3e32f9231c00bfa85f971265809d6f1fecdfb

7 years agoFix AdvertisingManager not being initialized am: 2255250d9b
Jakub Pawlowski [Thu, 29 Dec 2016 01:43:39 +0000 (01:43 +0000)]
Fix AdvertisingManager not being initialized am: 2255250d9b
am: 9bc73346ca

Change-Id: Ic5e857ac70fd826e12c19cc95e9eef15df4a2182

7 years agoFix AdvertisingManager not being initialized
Jakub Pawlowski [Thu, 29 Dec 2016 01:36:39 +0000 (01:36 +0000)]
Fix AdvertisingManager not being initialized
am: 2255250d9b

Change-Id: Ib4328198433e89853316c727f648a26dfe97025e

7 years agoFix AdvertisingManager not being initialized
Jakub Pawlowski [Thu, 22 Dec 2016 11:13:00 +0000 (03:13 -0800)]
Fix AdvertisingManager not being initialized

When BLE_VND_INCLUDED is not set, advertising was not properly
initialized, which resulted in stack crashes. This patch makes sure that
LE advertising is always properly initialized

Bug: 33168939
Test: enable LE advertising with BLE_VND_INCLUDED set to false
Change-Id: I5fa0b3da39da99e750e1f8b6f0452a628094bfc4

7 years agoFix pointer type in BTA_DmBleCfgFilterCondition am: ce34742e35
Jakub Pawlowski [Wed, 28 Dec 2016 21:09:51 +0000 (21:09 +0000)]
Fix pointer type in BTA_DmBleCfgFilterCondition am: ce34742e35
am: 26942eb8bb

Change-Id: Ia089d141e13d4f157fe52b4cecc154addcb828db

7 years agoFix pointer type in BTA_DmBleCfgFilterCondition
Jakub Pawlowski [Wed, 28 Dec 2016 21:02:51 +0000 (21:02 +0000)]
Fix pointer type in BTA_DmBleCfgFilterCondition
am: ce34742e35

Change-Id: I36d2b506e610a60819e981892d9655eacf78d562

7 years agoFix pointer type in BTA_DmBleCfgFilterCondition
Jakub Pawlowski [Wed, 28 Dec 2016 07:50:12 +0000 (23:50 -0800)]
Fix pointer type in BTA_DmBleCfgFilterCondition

p_cond_param->srvc_uuid is of type tBTA_DM_BLE_PF_UUID_COND

Bug: 33910711
Test: sl4a FilteringTest
Change-Id: I6b30e1e441f8256d8c8dbf593f746a3d7810eda6

7 years agoFix pointer arithmetic in BTA_DmBleCfgFilterCondition am: bced7f0c0b
Andre Eisenbach [Wed, 28 Dec 2016 00:37:36 +0000 (00:37 +0000)]
Fix pointer arithmetic in BTA_DmBleCfgFilterCondition am: bced7f0c0b
am: e81bd0aef0

Change-Id: I5ce4b95371539f70682cfa996e0fc3f19b28a825

7 years agoFix pointer arithmetic in BTA_DmBleCfgFilterCondition
Andre Eisenbach [Wed, 28 Dec 2016 00:30:35 +0000 (00:30 +0000)]
Fix pointer arithmetic in BTA_DmBleCfgFilterCondition
am: bced7f0c0b

Change-Id: I59ba47e90c7c282ab21263a153d6886761edd725

7 years agoFix pointer arithmetic in BTA_DmBleCfgFilterCondition
Andre Eisenbach [Tue, 27 Dec 2016 22:48:34 +0000 (14:48 -0800)]
Fix pointer arithmetic in BTA_DmBleCfgFilterCondition

Using the pointer to the beginning of a union in a member of the union,
which will then be over-written, is a bad idea(TM).

Bug: 33910711
Test: manual
Change-Id: I0b979e493688bf8c02119a2ef6707d6c8e730dcb

7 years agoosi: Return 0 on osi_property_get failure am: 17c66c45e6
Myles Watson [Wed, 21 Dec 2016 22:13:17 +0000 (22:13 +0000)]
osi: Return 0 on osi_property_get failure am: 17c66c45e6
am: 46410b5d83

Change-Id: Ia24ae1f17ed3e14a7be899c2ec46580ba08aa93d

7 years agoosi: Return 0 on osi_property_get failure
Myles Watson [Wed, 21 Dec 2016 22:09:36 +0000 (22:09 +0000)]
osi: Return 0 on osi_property_get failure
am: 17c66c45e6

Change-Id: I7968e8734b610530fe419cbe79fb8e149b2a0a7d

7 years agoosi: Return 0 on osi_property_get failure
Myles Watson [Sat, 17 Dec 2016 01:01:42 +0000 (17:01 -0800)]
osi: Return 0 on osi_property_get failure

Test: mma -j32
Change-Id: Ia1aae4cd5618816b529449844b3a0724e4eb3200

7 years agoLinux build fix am: 71f5b3ee55
Jakub Pawlowski [Tue, 20 Dec 2016 22:57:25 +0000 (22:57 +0000)]
Linux build fix am: 71f5b3ee55
am: ca88e4eab0

Change-Id: I7085ee58a7dde11aa30da5ccc031839f3d7dcf6c

7 years agoLinux build fix
Jakub Pawlowski [Tue, 20 Dec 2016 22:52:27 +0000 (22:52 +0000)]
Linux build fix
am: 71f5b3ee55

Change-Id: Ifd3362d6e73cabdd6fef1e973f2b1a4be4ae5005

7 years agoLinux build fix
Jakub Pawlowski [Tue, 20 Dec 2016 20:55:51 +0000 (12:55 -0800)]
Linux build fix

Test: compilation test
Change-Id: I0834431378b015eafbb26c48af342af4a650972b

7 years agoRemove reduntant capabilities check am: 30c4bfe8dd
Jakub Pawlowski [Tue, 20 Dec 2016 20:56:06 +0000 (20:56 +0000)]
Remove reduntant capabilities check am: 30c4bfe8dd
am: 4934f7c656

Change-Id: I8120e9115ca4985703689f68863a7ba004de848d

7 years agoRemove reduntant capabilities check
Jakub Pawlowski [Tue, 20 Dec 2016 19:09:26 +0000 (19:09 +0000)]
Remove reduntant capabilities check
am: 30c4bfe8dd

Change-Id: Idee00ad65b55e1c84f0c4437013f92ea0a018c7f

7 years agoGet rid of BLE_ANDROID_CONTROLLER_SCAN_FILTER am: d494104585
Jakub Pawlowski [Tue, 20 Dec 2016 03:16:11 +0000 (03:16 +0000)]
Get rid of BLE_ANDROID_CONTROLLER_SCAN_FILTER am: d494104585
am: 88c209119a

Change-Id: I3ef56659700ce690d831d41b47ac3f26d8ee2b2b

7 years agoGet rid of BLE_ANDROID_CONTROLLER_SCAN_FILTER
Jakub Pawlowski [Tue, 20 Dec 2016 03:11:40 +0000 (03:11 +0000)]
Get rid of BLE_ANDROID_CONTROLLER_SCAN_FILTER
am: d494104585

Change-Id: Ibc8f175338f21a6597b40071cc2cb53e6028b403

7 years agoRemove reduntant capabilities check
Jakub Pawlowski [Tue, 20 Dec 2016 01:05:33 +0000 (17:05 -0800)]
Remove reduntant capabilities check

BTM layer checks if LE is avaliable, and if proper VSC are
avaliable, no need to do additional checks in BTA.

Test: sl4a FilteringTest
Bug: 30622771
Change-Id: I594b152d18f08a46b65930547a991dbb6f188c4b

7 years agoGet rid of BLE_ANDROID_CONTROLLER_SCAN_FILTER
Jakub Pawlowski [Tue, 20 Dec 2016 00:13:08 +0000 (16:13 -0800)]
Get rid of BLE_ANDROID_CONTROLLER_SCAN_FILTER

All calls to filter related code is guarded by check if HCI VSC are
available. There is no need to keep double check.

Test: sl4a FilteringTest
Bug: 30622771
Change-Id: Ib4c53593d536a2985926ef2b725bc69050bdb035

7 years agoMerge "Remove btif dependency on libmedia" am: f585f29d2c
Jack He [Tue, 20 Dec 2016 00:49:02 +0000 (00:49 +0000)]
Merge "Remove btif dependency on libmedia" am: f585f29d2c
am: 434132a200

Change-Id: I41843d1e6b3669ca25c70c08cd3fe994d3126586

7 years agoModernize BLE Scanner implementation (2/3) am: 808650d846
Jakub Pawlowski [Tue, 20 Dec 2016 00:48:06 +0000 (00:48 +0000)]
Modernize BLE Scanner implementation (2/3) am: 808650d846
am: f1286ae768

Change-Id: I5aca38779a36ffe1ce4395054148f98a60a93088

7 years agoMerge "Remove btif dependency on libmedia"
Jack He [Tue, 20 Dec 2016 00:44:55 +0000 (00:44 +0000)]
Merge "Remove btif dependency on libmedia"
am: f585f29d2c

Change-Id: Ic98a105c01445c7fafc60e6c33495fc061a5ed07

7 years agoModernize BLE Scanner implementation (2/3)
Jakub Pawlowski [Tue, 20 Dec 2016 00:44:05 +0000 (00:44 +0000)]
Modernize BLE Scanner implementation (2/3)
am: 808650d846

Change-Id: If4f17d74becab4c36549f42807f5599f5d535b01

7 years agoMerge "Remove btif dependency on libmedia"
Treehugger Robot [Tue, 20 Dec 2016 00:39:42 +0000 (00:39 +0000)]
Merge "Remove btif dependency on libmedia"

7 years agoExpose Bluetooth 5.0 properties to JNI am: e0750ca056
Jakub Pawlowski [Tue, 20 Dec 2016 00:31:05 +0000 (00:31 +0000)]
Expose Bluetooth 5.0 properties to JNI am: e0750ca056
am: f0bd1fcc57

Change-Id: I394fbd361b4bfce21caa6e7fe81a7e4d7b0edf3c

7 years agoExpose Bluetooth 5.0 properties to JNI
Jakub Pawlowski [Tue, 20 Dec 2016 00:27:03 +0000 (00:27 +0000)]
Expose Bluetooth 5.0 properties to JNI
am: e0750ca056

Change-Id: I36c42f3209131f6f7390f9bff40fe3ccdc41e618

7 years agoModernize BLE Scanner implementation (2/3)
Jakub Pawlowski [Sun, 18 Dec 2016 01:08:15 +0000 (17:08 -0800)]
Modernize BLE Scanner implementation (2/3)

Get rid of BTA state machine states for BLE scanning.

Test: sl4a FilteringTest
Bug: 30622771
Change-Id: I8a879604f413c9980cf64983d8ef6b9a94669295

7 years agoUse LE Extended Advertising Report Event when available am: 801db30048
Jakub Pawlowski [Mon, 19 Dec 2016 22:47:31 +0000 (22:47 +0000)]
Use LE Extended Advertising Report Event when available am: 801db30048
am: b335de8718

Change-Id: Ica4ffc8da5748aa6997435e069ed03131e95b3c6

7 years agoUse extended set scan enable/parameters when available am: 9df2a552f7
Jakub Pawlowski [Mon, 19 Dec 2016 22:47:28 +0000 (22:47 +0000)]
Use extended set scan enable/parameters when available am: 9df2a552f7
am: 5f8100f738

Change-Id: I749e9e5ee9be0440dd677a4d2b2a0df299bb8e97

7 years agoUpdate BleAdvertiserHciInterface am: 699888256f
Jakub Pawlowski [Mon, 19 Dec 2016 22:47:25 +0000 (22:47 +0000)]
Update BleAdvertiserHciInterface am: 699888256f
am: 36a33c9151

Change-Id: I691b4116d2326fe730bb42b0c3cf3b08b50ded8b

7 years agoHandle Advertising Set Terminated event am: 751381c64f
Jakub Pawlowski [Mon, 19 Dec 2016 22:47:23 +0000 (22:47 +0000)]
Handle Advertising Set Terminated event am: 751381c64f
am: 858f0dd7b2

Change-Id: I9f24124783677ccb3ed5011556c09776f7e7cb3a

7 years agoAdvertising Extension Implementation am: 5af96d3fda
Jakub Pawlowski [Mon, 19 Dec 2016 22:47:21 +0000 (22:47 +0000)]
Advertising Extension Implementation am: 5af96d3fda
am: 21c5dcc3d0

Change-Id: I7f2085856d786f855cdccd58d705eb73691ab881

7 years agoUse LE Extended Advertising Report Event when available
Jakub Pawlowski [Mon, 19 Dec 2016 22:43:58 +0000 (22:43 +0000)]
Use LE Extended Advertising Report Event when available
am: 801db30048

Change-Id: Ic0d6126c8a246586a178d2d6cc32db6252377277

7 years agoUse extended set scan enable/parameters when available
Jakub Pawlowski [Mon, 19 Dec 2016 22:43:56 +0000 (22:43 +0000)]
Use extended set scan enable/parameters when available
am: 9df2a552f7

Change-Id: I0b023b25ef5a6badf086ad8ef181dfc7bbbc0d60

7 years agoUpdate BleAdvertiserHciInterface
Jakub Pawlowski [Mon, 19 Dec 2016 22:43:54 +0000 (22:43 +0000)]
Update BleAdvertiserHciInterface
am: 699888256f

Change-Id: Ic4c440c567fa8bd1a8ae25a8fe97d2420d9d223c

7 years agoHandle Advertising Set Terminated event
Jakub Pawlowski [Mon, 19 Dec 2016 22:43:52 +0000 (22:43 +0000)]
Handle Advertising Set Terminated event
am: 751381c64f

Change-Id: I08d19566b74bb13571334b1165b0ffa97b0c47ec

7 years agoAdvertising Extension Implementation
Jakub Pawlowski [Mon, 19 Dec 2016 22:43:51 +0000 (22:43 +0000)]
Advertising Extension Implementation
am: 5af96d3fda

Change-Id: I75e806c6f8616e03f321d4fea55833bd73aed275

7 years agoBLE scan filter setup simplification (2/3) am: 7098432166
Jakub Pawlowski [Mon, 19 Dec 2016 22:33:10 +0000 (22:33 +0000)]
BLE scan filter setup simplification (2/3) am: 7098432166
am: 322e8c2b25

Change-Id: If3b663ff289fbeefc86a3519b88465864c8182db

7 years agoBLE scan filter setup simplification (2/3)
Jakub Pawlowski [Mon, 19 Dec 2016 22:29:41 +0000 (22:29 +0000)]
BLE scan filter setup simplification (2/3)
am: 7098432166

Change-Id: If6ff7b9ef3b075b2e170cc96a1066aa7783d377d

7 years agoExpose Bluetooth 5.0 properties to JNI
Jakub Pawlowski [Mon, 5 Dec 2016 19:46:23 +0000 (11:46 -0800)]
Expose Bluetooth 5.0 properties to JNI

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I6185e6926e7363824aa573c7d65f7ab66f954e52

7 years agoUse LE Extended Advertising Report Event when available
Jakub Pawlowski [Tue, 13 Dec 2016 00:22:56 +0000 (16:22 -0800)]
Use LE Extended Advertising Report Event when available

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: Id85504922c21f15bc36ac8bb5e4ab962ee356e3d

7 years agoUse extended set scan enable/parameters when available
Jakub Pawlowski [Fri, 2 Dec 2016 19:34:06 +0000 (11:34 -0800)]
Use extended set scan enable/parameters when available

When LE Advertising Extension is available on the controller we must use
both extended advertising and scanning commands. Otherwise, according to
the spec, controller will return error.

This patch makes sure that proper avaliable HCI calls are made.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest as scanner
Change-Id: I6906c381f0f758bd24b592390a4ef46e7fae36ed

7 years agoUpdate BleAdvertiserHciInterface
Jakub Pawlowski [Thu, 1 Dec 2016 23:32:58 +0000 (15:32 -0800)]
Update BleAdvertiserHciInterface

This patch updates BleAdvertiserHciInterface to be on pair with
Bluetooth 5.0 LE Advertising Extension feature.

Bug: 30622771
Test: net_test_stack_multi_adv native test
Change-Id: Ie0ec8c7f8ed0d7a874e392123b3486c767121140

7 years agoHandle Advertising Set Terminated event
Jakub Pawlowski [Wed, 30 Nov 2016 21:51:01 +0000 (13:51 -0800)]
Handle Advertising Set Terminated event

Make BleAdvertiserHciExtendedImpl report when advertising set is
disabled because of new connection.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: Ic13a31fe4bb92f121a29d540274d13893775a450

7 years agoAdvertising Extension Implementation
Jakub Pawlowski [Tue, 29 Nov 2016 17:26:16 +0000 (09:26 -0800)]
Advertising Extension Implementation

This patch implements current BleAdvertiserHciInterface using LE
Advertising extension HCI commands.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: Icaaf24d6d02d8a887b3bb57d5b858b929f11c413

7 years agoBLE scan filter setup simplification (2/3)
Jakub Pawlowski [Fri, 16 Dec 2016 18:43:49 +0000 (10:43 -0800)]
BLE scan filter setup simplification (2/3)

Bug: 30622771
Test: sl4a BleScanTest
Change-Id: I55e6c201849a057995c0c6fda1c52af826749922

7 years agoAVRCP CT: Register for UUIDS Changed am: d008a8a618
Sanket Agarwal [Mon, 19 Dec 2016 21:35:49 +0000 (21:35 +0000)]
AVRCP CT: Register for UUIDS Changed am: d008a8a618
am: eb3ac124ea

Change-Id: I5195308c3a07e7184e5473efea1d92c8a96b4c31

7 years agoAVRCP CT: Register for UUIDS Changed
Sanket Agarwal [Mon, 19 Dec 2016 21:32:45 +0000 (21:32 +0000)]
AVRCP CT: Register for UUIDS Changed
am: d008a8a618

Change-Id: I3a5e3cbc86264ba97b1bc42d728ce0969828d2ce

7 years agoAVRCP CT: Register for UUIDS Changed
Sanket Agarwal [Mon, 19 Dec 2016 19:15:00 +0000 (11:15 -0800)]
AVRCP CT: Register for UUIDS Changed

-- Also fix a bug introduced by change of data types in AVRCP Open state
and AVRCP Browse Open state. Due to change in data type and field
mismatch the status value was being read incorrectly

Bug: b/33750053
Test: Manual test of browse connect
Test: PTS test for UUIDs changed
Change-Id: Ifecf9480a3fabeee8ad8302ebb7cd48f5322dea7

7 years agoRemove btif dependency on libmedia
Jack He [Sun, 18 Dec 2016 00:29:00 +0000 (16:29 -0800)]
Remove btif dependency on libmedia

* btif uses AudioTrack from frameworks/av which is under libaudioclient
* Current dependency on libmedia is incorrect as it is an indirect
  dependency to libaudioclient

Bug: 33718447
Test: code compilation, no user visible effect
Change-Id: I7c44095cd282fabf8595015910670193077c1514

7 years agoMerge "Add unit tests and refactor LE legacy pairing key distribution methods" am...
Jack He [Sat, 17 Dec 2016 17:58:17 +0000 (17:58 +0000)]
Merge "Add unit tests and refactor LE legacy pairing key distribution methods" am: 3c5a9b0a96
am: 517e1ab559

Change-Id: Ica081796569df1bc2f85bc012878892efe1405fd

7 years agoMerge "Add unit tests and refactor LE legacy pairing key distribution methods"
Jack He [Sat, 17 Dec 2016 02:47:44 +0000 (02:47 +0000)]
Merge "Add unit tests and refactor LE legacy pairing key distribution methods"
am: 3c5a9b0a96

Change-Id: Iecfcf3007e94d7c94c6be528fb880e65f4235453

7 years agoMerge "Add unit tests and refactor LE legacy pairing key distribution methods"
Treehugger Robot [Sat, 17 Dec 2016 02:34:14 +0000 (02:34 +0000)]
Merge "Add unit tests and refactor LE legacy pairing key distribution methods"

7 years agoRefactor LE scanning HAL (2/3) am: 83f1d967df
Jakub Pawlowski [Sat, 17 Dec 2016 01:36:11 +0000 (01:36 +0000)]
Refactor LE scanning HAL (2/3) am: 83f1d967df
am: e30fb0ed63

Change-Id: I5e36057c893267a74368572f076fb2cec1160262

7 years agoRefactor LE scanning HAL (2/3)
Jakub Pawlowski [Sat, 17 Dec 2016 01:26:14 +0000 (01:26 +0000)]
Refactor LE scanning HAL (2/3)
am: 83f1d967df

Change-Id: I269498529b2131e0f878dab0752ebde01518d262

7 years agoIncoming HF connection: CB interaction between BTA <-> BTIF am: 6664b2ccbb
Sanket Agarwal [Fri, 16 Dec 2016 22:43:19 +0000 (22:43 +0000)]
Incoming HF connection: CB interaction between BTA <-> BTIF am: 6664b2ccbb
am: 243022f340

Change-Id: Ibc16ed008526f7d4eacc6f36ac0e19a6da674033

7 years agoIncoming HF connection: CB interaction between BTA <-> BTIF
Sanket Agarwal [Fri, 16 Dec 2016 22:38:11 +0000 (22:38 +0000)]
Incoming HF connection: CB interaction between BTA <-> BTIF
am: 6664b2ccbb

Change-Id: Icb1484cbbb48b1ba163cc105b01e3ab1085b090c

7 years agoRefactor LE scanning HAL (2/3)
Jakub Pawlowski [Wed, 14 Dec 2016 17:49:38 +0000 (09:49 -0800)]
Refactor LE scanning HAL (2/3)

This patch converts btgatt_scanner_interface_t struct into
BleScannerInterface class. It also refactors three most important
methods from this interface: RegisterAdvertiser, Scan, and Unregister.
Rest of this interface will be updated in following patches.

Bug: 30622771
Test: sl4a BleScanApiTest
Change-Id: Ie35356f6c3c4f5488514ef55a48a32c93fb21b83

7 years agoIncoming HF connection: CB interaction between BTA <-> BTIF
Sanket Agarwal [Thu, 15 Dec 2016 22:47:29 +0000 (14:47 -0800)]
Incoming HF connection: CB interaction between BTA <-> BTIF

For incoming connections we are not storing the handles in BTIF which
implies that BTIF ignores the message (and so does jni -> java). This is
fixed by sending the handle as part of BTA message on incoming accept.

Other bugs include connection from remote (incoming) and disconnecting
from host. They also depended on not storing the handle properly in
first place.

Bug: b/33555377
Bug: b/30984220

Test: Manual testing of incoming connections
Change-Id: I84950d42aba2d2c975ea86cc8217fd0129cc90e9

7 years agotest_vendor: Use pipe2 to set pipe flags am: 15915b1415
Myles Watson [Fri, 16 Dec 2016 19:37:16 +0000 (19:37 +0000)]
test_vendor: Use pipe2 to set pipe flags am: 15915b1415
am: c462d6e8af

Change-Id: Ia12499185a7f60fef808bd799d88db4d206fdde1

7 years agotest_vendor: Use pipe2 to set pipe flags
Myles Watson [Fri, 16 Dec 2016 19:30:15 +0000 (19:30 +0000)]
test_vendor: Use pipe2 to set pipe flags
am: 15915b1415

Change-Id: Ic82220e63914ea67ba25ac2c5c7d86da9bb57428

7 years agoAdd unit tests and refactor LE legacy pairing key distribution methods
Jack He [Thu, 15 Dec 2016 10:48:33 +0000 (02:48 -0800)]
Add unit tests and refactor LE legacy pairing key distribution methods

* Add unit test for confirm (c1), p1, and p2
* Refactor the code to reduce number of methods
* Refactor c1's code to make it testable

Bug: 32413756
Test: Code compilation, Unit Test, PTS SM Tests
Change-Id: I5cc876b7dd2b21a0780ac9a5236420223df6cddb

7 years agotest_vendor: Use pipe2 to set pipe flags
Myles Watson [Fri, 16 Dec 2016 16:13:07 +0000 (08:13 -0800)]
test_vendor: Use pipe2 to set pipe flags

Simplify the code to fix a typo.  F_SETFD should have been
F_SETFL.

Test: run unit tests

out/host/linux-x86/nativetest/test-vendor_test_host/test-vendor_test_host \
        --gtest_filter=AsyncManagerSocketTest.*

Change-Id: I215381d6e130428acae7d73d80fefc97cbf64651

7 years agoMerge "Replace assert with CHECK from base/logging.h" am: e1fbea9695
Jack He [Fri, 16 Dec 2016 18:20:23 +0000 (18:20 +0000)]
Merge "Replace assert with CHECK from base/logging.h" am: e1fbea9695
am: 3999ebce62

Change-Id: Id3af55906311269145686fc486b49fb92d5a6e63

7 years agotest_vendor: Add more unit tests for async_manager am: bed69b9bcd
Myles Watson [Fri, 16 Dec 2016 18:20:12 +0000 (18:20 +0000)]
test_vendor: Add more unit tests for async_manager am: bed69b9bcd
am: 58c8a45f96

Change-Id: I15dc26c1dd324abc057bda2cc52cc847e4b226ec

7 years agoMerge "Replace assert with CHECK from base/logging.h"
Jack He [Fri, 16 Dec 2016 18:11:52 +0000 (18:11 +0000)]
Merge "Replace assert with CHECK from base/logging.h"
am: e1fbea9695

Change-Id: I1641fac8690ba1d7c9752e6e6d5b12a06aafe158

7 years agotest_vendor: Add more unit tests for async_manager
Myles Watson [Fri, 16 Dec 2016 18:11:41 +0000 (18:11 +0000)]
test_vendor: Add more unit tests for async_manager
am: bed69b9bcd

Change-Id: I5a12ec77d46e119d7cff0fce9973972aaa5435f4

7 years agoMerge "Replace assert with CHECK from base/logging.h"
Treehugger Robot [Fri, 16 Dec 2016 18:07:46 +0000 (18:07 +0000)]
Merge "Replace assert with CHECK from base/logging.h"

7 years agotest_vendor: Add more unit tests for async_manager
Myles Watson [Thu, 8 Dec 2016 22:34:20 +0000 (14:34 -0800)]
test_vendor: Add more unit tests for async_manager

Test: run the unit tests
 out/host/linux-x86/nativetest/test-vendor_test_host/test-vendor_test_host \
     --gtest_filter=AsyncManagerSocketTest.*

Change-Id: I8c5e05c5506a067a6148d54dc23bbb931ad612e7

7 years agoReplace assert with CHECK from base/logging.h
Jack He [Tue, 13 Dec 2016 09:59:12 +0000 (01:59 -0800)]
Replace assert with CHECK from base/logging.h

* Replace assert with CHECK
* Remove all NDEBUG definitions
* Remove hacks for BT_LIBCHROME_NDEBUG
* Removed some removed directories from Makefile such as hcis, brcm, rpc

Coccinelle-assisted:

@@
@@

- #include "base/logging.h"
+ #include <base/logging.h>

@ assert_included @
@@

@ base_logging_included @
@@

@ depends on (assert_included && !(base_logging_included)) @
@@

- #include <assert.h>
+ #include <base/logging.h>

@ depends on (assert_included && base_logging_included) @
@@

- #include <assert.h>

@@
expression E;
@@

- assert(E);
+ CHECK(E);

And a bash script:

for file in $(find . -name "*.cc"); do
  spatch --sp-file replace_assert_with_CHECK.cocci --in-place $file
done

The following files are maually edited:
btif/src/btif_config.cc
btif/src/btif_avrcp_audio_track.cc
btif/src/btif_gatt_client.cc
osi/src/data_dispatcher.cc
osi/src/reactor.cc
osi/src/thread.cc
osi/src/fixed_queue.cc
osi/src/list.cc
osi/src/allocation_tracker.cc
osi/src/alarm.cc
osi/test/wakelock_test.cc

Bug: 31781465
Test: Code compilation, Unit Tests, BtStressTest, BtFunhausMetricsTest
Change-Id: I21dc10a45be31665e41441b75b0515ed87523988

7 years agoBTA Application registration refactor am: 221e9bf6c9
Jakub Pawlowski [Fri, 16 Dec 2016 06:01:10 +0000 (06:01 +0000)]
BTA Application registration refactor am: 221e9bf6c9
am: 5e6c162029

Change-Id: I7b8a4311988666f2d9e43c6265bdc663955714d3

7 years agoBTA Application registration refactor
Jakub Pawlowski [Fri, 16 Dec 2016 05:53:06 +0000 (05:53 +0000)]
BTA Application registration refactor
am: 221e9bf6c9

Change-Id: I731c9a69bdd9513ee95e77b28e1308049c3fede0

7 years agoChange the parameter type of smp_debug_print_nbyte_little_endian am: 648d513fd6
Jack He [Fri, 16 Dec 2016 01:47:13 +0000 (01:47 +0000)]
Change the parameter type of smp_debug_print_nbyte_little_endian am: 648d513fd6
am: e2fb6e2601

Change-Id: Ie49bb8bd54b84204199ffbd54ef6248f4f4b2115

7 years agoChange the parameter type of smp_debug_print_nbyte_little_endian
Jack He [Fri, 16 Dec 2016 01:40:11 +0000 (01:40 +0000)]
Change the parameter type of smp_debug_print_nbyte_little_endian
am: 648d513fd6

Change-Id: Iae6d0a4bf665f2d2ec9f6cb1bb92d19ad96c6c79

7 years agoBTA Application registration refactor
Jakub Pawlowski [Thu, 15 Dec 2016 22:35:15 +0000 (14:35 -0800)]
BTA Application registration refactor

This patch replace BTA state machine state associated with registration
of new application, together with BTA_GATTC_API_REG_EVT, and
tBTA_GATTC_API_REG. Instead, it uses closure to post registration task,
and callback for registration event.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertiserTest GattConnectTest
Change-Id: I62d68485170ef5472237d62b285353f2c9bc8250