OSDN Git Service

android-x86/system-bt.git
7 years agoBatch scan simplification am: eab3651db4
Jakub Pawlowski [Mon, 9 Jan 2017 20:45:21 +0000 (20:45 +0000)]
Batch scan simplification am: eab3651db4
am: 58dde764e0

Change-Id: Idffdb211a7084a21789f1c2bbad4c634809be842

7 years agoLE filters without custom data types am: 2ffd8da9af
Jakub Pawlowski [Mon, 9 Jan 2017 20:45:15 +0000 (20:45 +0000)]
LE filters without custom data types am: 2ffd8da9af
am: 4d227fc750

Change-Id: Ib7f7de32290dd8efc4b97185324011135ec53229

7 years agoGet rid of BTA_DmBleCfgFilterCondition am: ad6afdf96c
Jakub Pawlowski [Mon, 9 Jan 2017 20:45:10 +0000 (20:45 +0000)]
Get rid of BTA_DmBleCfgFilterCondition am: ad6afdf96c
am: fbb8d006a6

Change-Id: I1b4b2e071a0101ed7db0eecd7fc9c457a6093f2d

7 years agoSimplify LE scan filter memory management am: ae2aabef09
Jakub Pawlowski [Mon, 9 Jan 2017 20:45:05 +0000 (20:45 +0000)]
Simplify LE scan filter memory management am: ae2aabef09
am: fad449ee33

Change-Id: I447b69cd3bc0ee2ad9e4d33473831b9ed2013ae8

7 years agoRemove reduntant re-schedule am: 2c1522e2b8
Jakub Pawlowski [Mon, 9 Jan 2017 20:45:01 +0000 (20:45 +0000)]
Remove reduntant re-schedule am: 2c1522e2b8
am: cbaeb50923

Change-Id: I62f949769fd07a9adabe3ba2b83ab3d2b12ae1d5

7 years agoUse callbacks for LE filter functions (BTM layer) am: 1febda9706
Jakub Pawlowski [Mon, 9 Jan 2017 20:44:48 +0000 (20:44 +0000)]
Use callbacks for LE filter functions (BTM layer) am: 1febda9706
am: 8cf65e4d0e

Change-Id: I24828a1130fc54d0d72845751b5725b72db5c30c

7 years agoBatch scan simplification
Jakub Pawlowski [Mon, 9 Jan 2017 20:40:07 +0000 (20:40 +0000)]
Batch scan simplification
am: eab3651db4

Change-Id: Iab508f656ceaaa726edff3e04945146a3d4762d4

7 years agoLE filters without custom data types
Jakub Pawlowski [Mon, 9 Jan 2017 20:40:04 +0000 (20:40 +0000)]
LE filters without custom data types
am: 2ffd8da9af

Change-Id: I787c473f2c5839674fbf0ab3c646f210d15ab717

7 years agoGet rid of BTA_DmBleCfgFilterCondition
Jakub Pawlowski [Mon, 9 Jan 2017 20:40:00 +0000 (20:40 +0000)]
Get rid of BTA_DmBleCfgFilterCondition
am: ad6afdf96c

Change-Id: I9d5464bc0199759ef83cac4a2b7b6a94635053a4

7 years agoSimplify LE scan filter memory management
Jakub Pawlowski [Mon, 9 Jan 2017 20:39:56 +0000 (20:39 +0000)]
Simplify LE scan filter memory management
am: ae2aabef09

Change-Id: I654160519dd7b03fa11d58a6ce6e5dbc24dd5d88

7 years agoRemove reduntant re-schedule
Jakub Pawlowski [Mon, 9 Jan 2017 20:39:52 +0000 (20:39 +0000)]
Remove reduntant re-schedule
am: 2c1522e2b8

Change-Id: Id7a3ed5b5fe1460e14450616bad422b39f8cbc9d

7 years agoUse callbacks for LE filter functions (BTM layer)
Jakub Pawlowski [Mon, 9 Jan 2017 20:39:38 +0000 (20:39 +0000)]
Use callbacks for LE filter functions (BTM layer)
am: 1febda9706

Change-Id: I218fb9df79b2b4df4d8a1774273a951c63042772

7 years agoBatch scan simplification
Jakub Pawlowski [Thu, 5 Jan 2017 09:34:53 +0000 (01:34 -0800)]
Batch scan simplification

Bug: 30622771
Test: sl4a UniqueFilteringTest BleOpportunisticScanTest
Change-Id: I0e6ca8ed3d7d98057277a5187e684246f410d978

7 years agoLE filters without custom data types
Jakub Pawlowski [Wed, 4 Jan 2017 15:58:37 +0000 (07:58 -0800)]
LE filters without custom data types

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

7 years agoGet rid of BTA_DmBleCfgFilterCondition
Jakub Pawlowski [Wed, 4 Jan 2017 14:50:46 +0000 (06:50 -0800)]
Get rid of BTA_DmBleCfgFilterCondition

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

7 years agoSimplify LE scan filter memory management
Jakub Pawlowski [Wed, 4 Jan 2017 09:05:24 +0000 (01:05 -0800)]
Simplify LE scan filter memory management

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

7 years agoRemove reduntant re-schedule
Jakub Pawlowski [Tue, 3 Jan 2017 14:36:19 +0000 (06:36 -0800)]
Remove reduntant re-schedule

Calls to BleScannerInterface are already made using jni thread.
Also all this calls do is scheduling to BTA thread, so remove
unnecessary call to do_in_jni_thread

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

7 years agoUse callbacks for LE filter functions (BTM layer)
Jakub Pawlowski [Fri, 30 Dec 2016 14:38:29 +0000 (06:38 -0800)]
Use callbacks for LE filter functions (BTM layer)

This patch use callbacks, instead of custom event queue when scheduling
LE filter VSC.

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

7 years agoFix bad connectable advertising constant am: 35675d0e73
Jakub Pawlowski [Mon, 9 Jan 2017 18:59:38 +0000 (18:59 +0000)]
Fix bad connectable advertising constant am: 35675d0e73
am: 4c8198cfd9

Change-Id: Idb7596057acbad7fb30e1719261cfe17e29440c0

7 years agoZero is a valid advertiser id am: daa8a99913
Jakub Pawlowski [Mon, 9 Jan 2017 18:59:25 +0000 (18:59 +0000)]
Zero is a valid advertiser id am: daa8a99913
am: 17a68bf7df

Change-Id: I90e4ce2f7e0005de2d0bd5541883f3587f2a96dc

7 years agoRemove redundant dependency on libpower am: 4302060551
Jack He [Mon, 9 Jan 2017 18:59:12 +0000 (18:59 +0000)]
Remove redundant dependency on libpower am: 4302060551
am: 51a1abd14d

Change-Id: Id809a19186f9f31964fa4d66f19535413b1fd3bf

7 years agoFix bad connectable advertising constant
Jakub Pawlowski [Mon, 9 Jan 2017 18:55:46 +0000 (18:55 +0000)]
Fix bad connectable advertising constant
am: 35675d0e73

Change-Id: I02605b0df8e6d46db0ca2f81e6c5e172337614a7

7 years agoZero is a valid advertiser id
Jakub Pawlowski [Mon, 9 Jan 2017 18:55:32 +0000 (18:55 +0000)]
Zero is a valid advertiser id
am: daa8a99913

Change-Id: I05b1d504381932959877a0c856b1bb7ef82292a1

7 years agoRemove redundant dependency on libpower
Jack He [Mon, 9 Jan 2017 18:55:12 +0000 (18:55 +0000)]
Remove redundant dependency on libpower
am: 4302060551

Change-Id: Ie78d7e79d9f1b9043eceae84865b4eb5274fd4db

7 years agoFix bad connectable advertising constant
Jakub Pawlowski [Mon, 9 Jan 2017 15:05:00 +0000 (07:05 -0800)]
Fix bad connectable advertising constant

Test: start connectable advertising using bluetoothtbd
Change-Id: Ie7e42570748d43a27bc7691378aee85ab1565a05

7 years agoZero is a valid advertiser id
Jakub Pawlowski [Mon, 9 Jan 2017 14:53:36 +0000 (06:53 -0800)]
Zero is a valid advertiser id

Test: start advertising using bluetooth-cli
Change-Id: Iead31c5e73a70850c6a209b6bbbeaeb792202608

7 years agoRemove redundant dependency on libpower
Jack He [Wed, 4 Jan 2017 19:46:00 +0000 (11:46 -0800)]
Remove redundant dependency on libpower

* libpower dependency was introduced in change
  I1e8d49b087eff6301373e1e90e8d868f15847c34
* It is never used in any part of the system/bt stack and therefore
  should be removed from the shared library dependency list

Bug: 34079981
Test: code compilation, no user visible effect
Change-Id: Ic8e3ad0c369839fb9ced446695c72fdf0ffad1ca

7 years agoFix Heart Rate Service example am: e3051fec06
Jakub Pawlowski [Mon, 9 Jan 2017 18:21:08 +0000 (18:21 +0000)]
Fix Heart Rate Service example am: e3051fec06
am: fb326faf46

Change-Id: I8367ba5e2238fddd5636a3b0ae7c896db9a0f1ff

7 years agoFix Heart Rate Service example
Jakub Pawlowski [Mon, 9 Jan 2017 18:16:14 +0000 (18:16 +0000)]
Fix Heart Rate Service example
am: e3051fec06

Change-Id: I8ff34d31fe85899a0657ce437f4bf614a24528c8

7 years agoFix Heart Rate Service example
Jakub Pawlowski [Mon, 9 Jan 2017 14:47:39 +0000 (06:47 -0800)]
Fix Heart Rate Service example

Name must be appended at end, not beginning.

Test: run bt-example-hr-server --advertise
Change-Id: I70909e0bfc94521c396908d0dcb78cf4439a7e63

7 years agoRemove unnecessary cutils dependency am: 19e3d703b2
Jakub Pawlowski [Mon, 9 Jan 2017 09:45:51 +0000 (09:45 +0000)]
Remove unnecessary cutils dependency am: 19e3d703b2
am: c1f7859ee3

Change-Id: Iea809f705c041d384b514df146f510e21c185a0a

7 years agoRemove unnecessary cutils dependency
Jakub Pawlowski [Mon, 9 Jan 2017 09:40:50 +0000 (09:40 +0000)]
Remove unnecessary cutils dependency
am: 19e3d703b2

Change-Id: Id0b5878395183458449cb0c89b515659b5e86133

7 years agoUpdate Linux BUILD.gn files am: a9743d8101
Jakub Pawlowski [Mon, 9 Jan 2017 08:20:45 +0000 (08:20 +0000)]
Update Linux BUILD.gn files am: a9743d8101
am: 5c4642ab77

Change-Id: I5e38f3e901431873e9d3ed19a5ffebd868850e4e

7 years agoUpdate Linux BUILD.gn files
Jakub Pawlowski [Mon, 9 Jan 2017 08:14:45 +0000 (08:14 +0000)]
Update Linux BUILD.gn files
am: a9743d8101

Change-Id: I846fa35f6f6ec7ccdc242d77b2f7e5ce41e46f9b

7 years agoRemove unnecessary cutils dependency
Jakub Pawlowski [Mon, 9 Jan 2017 08:09:15 +0000 (00:09 -0800)]
Remove unnecessary cutils dependency

Test: build with ninja and mma
Change-Id: I31688da8a554ed71b580c30a0e4c000ea4903d70

7 years agoUpdate Linux BUILD.gn files
Jakub Pawlowski [Mon, 9 Jan 2017 08:02:58 +0000 (00:02 -0800)]
Update Linux BUILD.gn files

Test: build with ninja
Change-Id: I4993dae7f76479da9bfad70aae88cc51fd7127d5

7 years agoRenamed the aptX and aptX-HD shared libraries am: d43a901c57
Pavlin Radoslavov [Sat, 7 Jan 2017 03:14:41 +0000 (03:14 +0000)]
Renamed the aptX and aptX-HD shared libraries am: d43a901c57
am: ae84776457

Change-Id: I98d6d9a9d362f59dc7b1b18359d8e338c57e7f6e

7 years agoRenamed the aptX and aptX-HD shared libraries
Pavlin Radoslavov [Sat, 7 Jan 2017 03:10:11 +0000 (03:10 +0000)]
Renamed the aptX and aptX-HD shared libraries
am: d43a901c57

Change-Id: I0bccfb379fb0719e9500c44d44378cfab23037ea

7 years agoRenamed the aptX and aptX-HD shared libraries
Pavlin Radoslavov [Fri, 6 Jan 2017 23:07:43 +0000 (15:07 -0800)]
Renamed the aptX and aptX-HD shared libraries

* The names of the expected aptX and aptX-HD shared libraries are
  updated to reflect better their purpose:
  - aptX: libaptX.so -> libaptX_encoder.so
  - aptX-HD: libaptXHD.so -> libaptXHD_encoder.so

Also:
* Add a missing upcall with the codec info the first time the codec
  is selected internally
* Minor cleanup

Bug: 30958229
Test: A2DP streaming to aptX/aptX-HD headsets
Change-Id: Ib2bfc83823190fb7a057353eb47cd71c5b4d5a3a

7 years agoMerge "Integration of the LDAC codec for A2DP source" am: 690c0478b6
Pavlin Radoslavov [Thu, 5 Jan 2017 07:55:36 +0000 (07:55 +0000)]
Merge "Integration of the LDAC codec for A2DP source" am: 690c0478b6
am: 6077931f05

Change-Id: I552143138e0799f7da423710eb858a25241bd286

7 years agoMerge "Integration of the LDAC codec for A2DP source"
Pavlin Radoslavov [Thu, 5 Jan 2017 07:49:56 +0000 (07:49 +0000)]
Merge "Integration of the LDAC codec for A2DP source"
am: 690c0478b6

Change-Id: I3ef8f12d26b0832bc8c6da03275ad1416de86e7c

7 years agoMerge "Integration of the LDAC codec for A2DP source"
Treehugger Robot [Thu, 5 Jan 2017 07:43:49 +0000 (07:43 +0000)]
Merge "Integration of the LDAC codec for A2DP source"

7 years agoMerge "Fix A2DP metrics session duration" am: 644f61e760
Jack He [Thu, 5 Jan 2017 04:31:30 +0000 (04:31 +0000)]
Merge "Fix A2DP metrics session duration" am: 644f61e760
am: 08802b44b7

Change-Id: Ia58a579368458a246a422a4a47b8524f32355dab

7 years agoMerge "Fix A2DP metrics session duration"
Jack He [Thu, 5 Jan 2017 04:28:30 +0000 (04:28 +0000)]
Merge "Fix A2DP metrics session duration"
am: 644f61e760

Change-Id: I675bf805857d7e37b522d29912e633154071bf8d

7 years agoMerge "Fix A2DP metrics session duration"
Treehugger Robot [Thu, 5 Jan 2017 04:24:33 +0000 (04:24 +0000)]
Merge "Fix A2DP metrics session duration"

7 years agoIntegration of the LDAC codec for A2DP source
Pavlin Radoslavov [Tue, 1 Nov 2016 12:45:40 +0000 (05:45 -0700)]
Integration of the LDAC codec for A2DP source

The codec can be used if the encoding shared library is installed
on the device:
 libldacBT_enc.so

Also, increased the maximum number of SEPs AVDT_NUM_SEPS from 3
to 6 to accomodate Sink devices that support more than 3 codecs.

Test: A2DP streaming to LDAC headsets
Bug: 30958229
Change-Id: I114c3e6be2ebe1ac8aece62a3146637d37cd938e

7 years agoMerge "Add LeakyBondedQueue to libosi" am: 797be14aba
Jack He [Thu, 5 Jan 2017 02:45:19 +0000 (02:45 +0000)]
Merge "Add LeakyBondedQueue to libosi" am: 797be14aba
am: b2b62f4d88

Change-Id: I0655e7e70dabf08557559938028708a30c57d3ca

7 years agoMerge "Add LeakyBondedQueue to libosi"
Jack He [Thu, 5 Jan 2017 02:42:48 +0000 (02:42 +0000)]
Merge "Add LeakyBondedQueue to libosi"
am: 797be14aba

Change-Id: Ib260e88f8dc8be1f86d200f8ab4f0690c4b4aad9

7 years agoMerge "Add LeakyBondedQueue to libosi"
Treehugger Robot [Thu, 5 Jan 2017 02:39:27 +0000 (02:39 +0000)]
Merge "Add LeakyBondedQueue to libosi"

7 years agoMerge "Integration of the aptX and aptX-HD codecs for A2DP source" am: bcb80655e3
Pavlin Radoslavov [Thu, 5 Jan 2017 02:07:12 +0000 (02:07 +0000)]
Merge "Integration of the aptX and aptX-HD codecs for A2DP source" am: bcb80655e3
am: dc5afd7359

Change-Id: I1bd7ef5a5fffba6e4bb3fa3c321fbbb766185677

7 years agoMerge "Integration of the aptX and aptX-HD codecs for A2DP source"
Pavlin Radoslavov [Thu, 5 Jan 2017 02:02:08 +0000 (02:02 +0000)]
Merge "Integration of the aptX and aptX-HD codecs for A2DP source"
am: bcb80655e3

Change-Id: Ifd232e09aebc80ffb09fc195429e18787851e6aa

7 years agoMerge "Integration of the aptX and aptX-HD codecs for A2DP source"
Treehugger Robot [Thu, 5 Jan 2017 01:56:34 +0000 (01:56 +0000)]
Merge "Integration of the aptX and aptX-HD codecs for A2DP source"

7 years agoscripts: modify change_types.sh to skip matching "<data type>_" am: 69b8f87943
Ruchi Kandoi [Thu, 5 Jan 2017 01:34:43 +0000 (01:34 +0000)]
scripts: modify change_types.sh to skip matching "<data type>_" am: 69b8f87943
am: aafd275968

Change-Id: I39369270c553abdd1881eb60c282e9afc2c54dfb

7 years agoscripts: modify change_types.sh to skip matching "<data type>_"
Ruchi Kandoi [Thu, 5 Jan 2017 01:31:43 +0000 (01:31 +0000)]
scripts: modify change_types.sh to skip matching "<data type>_"
am: 69b8f87943

Change-Id: I24fc6ef1b6484bfb9a3a6e671b9b5d3b76882d9c

7 years agoFix A2DP metrics session duration
Jack He [Fri, 9 Dec 2016 03:29:00 +0000 (19:29 -0800)]
Fix A2DP metrics session duration

* Fixed A2DP duration counting. It is now counting from music play start
  to music play end.
* Start logging a2dp connection as Bluetooth sessions. Currently, only
  A2DP connections are logged. Thus the bluetooth session length will be
  the total connection length and the length within A2DP session message
  will be the audio connection length.
* Add a audio_duration_millis field in A2DPSession to record audio duration
* Add bonded memory constraint for metrics entries
* Use a builder mechanism to only build metrics upon dumping
* Refactor metrics module into BluetoothMetricsLogger class
* Created unit test for BluetoothMetricsLogger

Bug: 33694310
Test: Code compilation, Unit test, BtFunhausMetricsTest
Change-Id: Iea2a997c4ea074687a5d50860e9229f0e1b82659

7 years agoAdd LeakyBondedQueue to libosi
Jack He [Tue, 20 Dec 2016 19:57:17 +0000 (11:57 -0800)]
Add LeakyBondedQueue to libosi

* LeakyBondedQueue is a fixed size queue that leaks oldest item when
  reaching its capacity. This is useful in creating memory bonded data
  structure where freshness is more important than full coverage.
* The queue is protected by a simple mutex and is thread-safe, although
  improvements could be made to lock enqueue and dequeue separately, it
  is not implemented at this moment due to lack of demand
* The queue uses unique_ptr to automatically free its content when it is
  destructed
* Add several tests to verify its API and memory management
* This data structure will be firstly used in the metrics module

Bug: 33781460
Test: Code compilation, unit tests
Change-Id: I51cb73666ac58e4792d9cba0d6f16dad30a0ff39

7 years agoIntegration of the aptX and aptX-HD codecs for A2DP source
Pavlin Radoslavov [Tue, 25 Oct 2016 00:48:24 +0000 (17:48 -0700)]
Integration of the aptX and aptX-HD codecs for A2DP source

Each of the codecs can be used if the corresponding encoding
shared library is installed on the device:
 - aptX: libaptX.so
 - aptX-HD: libaptXHD.so

Test: A2DP streaming to aptX and aptX-HD headsets
Bug: 30958229
Change-Id: I1ca36da653721576f5a5b6bdac186b9ea2790c85

7 years agoscripts: modify change_types.sh to skip matching "<data type>_"
Ruchi Kandoi [Tue, 3 Jan 2017 22:05:38 +0000 (14:05 -0800)]
scripts: modify change_types.sh to skip matching "<data type>_"

Script erroronously modifies UINT8_TO_BE_STREAM() to
uint8_t_TO_BE_STREAM(). Modidy the script to prevent that.

Test: Manual; Run the script on system/nfc
Change-Id: I9e130b8eb79e400282233fad7da206b4bb1301af
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
7 years agoFix an inappropriate sscanf return value judgment am: 0e42408b91
liuchao [Wed, 4 Jan 2017 20:43:22 +0000 (20:43 +0000)]
Fix an inappropriate sscanf return value judgment am: 0e42408b91
am: 764c271c70

Change-Id: I101045cbd010df0d1db24fa1c74949860dd1bc8c

7 years agoFix an inappropriate sscanf return value judgment
liuchao [Wed, 4 Jan 2017 20:41:22 +0000 (20:41 +0000)]
Fix an inappropriate sscanf return value judgment
am: 0e42408b91

Change-Id: Ic3d9b940b9470590da8b7f403066757d0e6e2f91

7 years agoFix an inappropriate sscanf return value judgment
liuchao [Wed, 4 Jan 2017 02:46:06 +0000 (10:46 +0800)]
Fix an inappropriate sscanf return value judgment

This fixes an inappropriate sscanf return value judgment that
res check here is not needed while res2 is the one that need to be checked

Test: mm -j 8
Change-Id: I3e332286c9434d5b9d01421f5f421039f84ad6c7

7 years agoMake HID Device service independent from HID Host. am: 2a399b3745
Ivan Podogov [Wed, 4 Jan 2017 15:46:32 +0000 (15:46 +0000)]
Make HID Device service independent from HID Host. am: 2a399b3745
am: 45a3078fe9

Change-Id: Idfec7365e8e340b5c1dc2a1f9fd39d7449f6448a

7 years agoMake HID Device service independent from HID Host.
Ivan Podogov [Wed, 4 Jan 2017 15:44:31 +0000 (15:44 +0000)]
Make HID Device service independent from HID Host.
am: 2a399b3745

Change-Id: I21033a763e8103d35ff44a0a6d503935e504b12f

7 years agoMake HID Device service independent from HID Host.
Ivan Podogov [Tue, 3 Jan 2017 12:29:45 +0000 (12:29 +0000)]
Make HID Device service independent from HID Host.

By default, enabling the HID Device service is only possible
during disabling the HID Host service. If, on the other hand,
the HID Host service was never initialized, then a request to
enable the HID Device service should just be executed
immediately.

Test: manual, on a device without the HID Host profile.
Change-Id: I2ab4b8aec413b66d57eb322d38660f1b4c48ba32

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