OSDN Git Service

android-x86/system-bt.git
7 years agoRemoved the feeding_init call from tA2DP_ENCODER_INTERFACE am: f8e2670d12
Pavlin Radoslavov [Fri, 13 Jan 2017 18:46:18 +0000 (18:46 +0000)]
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE am: f8e2670d12
am: a7d87c4c12

Change-Id: I4b28e24b3fad9248028bae23038a12d8c4b67ce8

7 years agoRemoved the feeding_init call from tA2DP_ENCODER_INTERFACE
Pavlin Radoslavov [Fri, 13 Jan 2017 18:44:20 +0000 (18:44 +0000)]
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE
am: f8e2670d12

Change-Id: I716d1c077b089345c08ca76ccf2823ac1ff6d8e3

7 years agoRemoved the feeding_init call from tA2DP_ENCODER_INTERFACE
Pavlin Radoslavov [Wed, 11 Jan 2017 18:35:15 +0000 (10:35 -0800)]
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE

The feeding_init call is not used anymore - it has been superseded
by the newer A2dpCodecs.setCodecAudioConfig() mechanism.

Also, moved aptx_init_framing_params() and aptx_hd_init_framing_params()
calls to the corresponding encoder_update functions.

Test: A2DP streaming to Bluetooth headsets
Change-Id: I52f42b4701d04fe2ddb8f115bb9cd57fe38e2b38

7 years agoIntegrated A2DP LDAC support with the LDAC encoder library am: d556b752bd
Pavlin Radoslavov [Tue, 10 Jan 2017 23:10:49 +0000 (23:10 +0000)]
Integrated A2DP LDAC support with the LDAC encoder library am: d556b752bd
am: 95c78b6741

Change-Id: I7c1f807c2ede174d4682e2acf6ced396b1b19356

7 years agoIntegrated A2DP LDAC support with the LDAC encoder library
Pavlin Radoslavov [Tue, 10 Jan 2017 23:03:39 +0000 (23:03 +0000)]
Integrated A2DP LDAC support with the LDAC encoder library
am: d556b752bd

Change-Id: Ib0d6db87f7f30ac7544bf2e5764b7dda0d1a24f9

7 years agoIntegrated A2DP LDAC support with the LDAC encoder library
Pavlin Radoslavov [Tue, 10 Jan 2017 21:18:14 +0000 (13:18 -0800)]
Integrated A2DP LDAC support with the LDAC encoder library

* Add compile-time dependency on the libldacBT_enc module
  in external/libldac
* Use the <ldacBT.h> header and remove local typedefs and defines

Also, fix an initialization issue of the LDAC handler
inside file a2dp_vendor_ldac_encoder.cc

Bug: 30958229
Test: A2DP streaming to LDAC headset
Change-Id: I3757230c9901509daab36f2b2018faa05490171d

7 years agoMerge "Serialize stack shutdown, state change callback and cleanup" into cw-f-dev
Jacky Cheung [Tue, 10 Jan 2017 18:12:21 +0000 (18:12 +0000)]
Merge "Serialize stack shutdown, state change callback and cleanup" into cw-f-dev
am: 718b632f2b

Change-Id: I59546b88705ca7a9748bc3a41ad0a382caada0fe

7 years agoSerialize stack shutdown, state change callback and cleanup
Gurpreet Ghai [Tue, 10 Jan 2017 18:12:20 +0000 (18:12 +0000)]
Serialize stack shutdown, state change callback and cleanup
am: 352b8e89ea

Change-Id: Ie1262e4b3604a5e04910201d330419873a656f2f

7 years agoMerge "Serialize stack shutdown, state change callback and cleanup" into cw-f-dev
Jacky Cheung [Tue, 10 Jan 2017 18:02:33 +0000 (18:02 +0000)]
Merge "Serialize stack shutdown, state change callback and cleanup" into cw-f-dev

7 years agoMerge "Add "connecting" and "disconnecting" states to HID Device." am: 35ae4adf21
Ivan Podogov [Tue, 10 Jan 2017 11:30:28 +0000 (11:30 +0000)]
Merge "Add "connecting" and "disconnecting" states to HID Device." am: 35ae4adf21
am: 0d5910c685

Change-Id: Ibd5437b69871d1dbf5159152fa488892523510a6

7 years agoMerge "Add "connecting" and "disconnecting" states to HID Device."
Ivan Podogov [Tue, 10 Jan 2017 11:24:27 +0000 (11:24 +0000)]
Merge "Add "connecting" and "disconnecting" states to HID Device."
am: 35ae4adf21

Change-Id: I5eef753ca30b57848ebeaeb3b73aa134cb6b6970

7 years agoMerge "Add "connecting" and "disconnecting" states to HID Device."
Treehugger Robot [Tue, 10 Jan 2017 11:20:24 +0000 (11:20 +0000)]
Merge "Add "connecting" and "disconnecting" states to HID Device."

7 years agoresolve merge conflicts of 316589aa to nyc-mr1-dev-plus-aosp
Andre Eisenbach [Tue, 10 Jan 2017 02:06:48 +0000 (18:06 -0800)]
resolve merge conflicts of 316589aa to nyc-mr1-dev-plus-aosp

Change-Id: I5758549f4c2e1f26d02ff087e240698b13343bbe

7 years agoRemove position dependent lookup tables in AT command parser
Andre Eisenbach [Mon, 9 Jan 2017 23:05:41 +0000 (23:05 +0000)]
Remove position dependent lookup tables in AT command parser
am: 8d3cf5988a

Change-Id: I0a690f1538c49fbed743ccf324d240dbb8c927c8

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 agoAdd "connecting" and "disconnecting" states to HID Device.
Ivan Podogov [Thu, 5 Jan 2017 12:20:26 +0000 (12:20 +0000)]
Add "connecting" and "disconnecting" states to HID Device.

Currently the upper java layers have full support for all four
connection states, yet the lower stack only reports about
"connected" and "disconnected".
This patch adds sending "connecting" and "disconnecting" messages
when bta_hd_connect_act and bta_hd_disconnect_act finish
successfully.

Test: build, run, logcat
Change-Id: I00f9f414daa3854198ff9eee19e9c98a2e18f603

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 agoSerialize stack shutdown, state change callback and cleanup
Gurpreet Ghai [Mon, 12 Sep 2016 12:06:53 +0000 (17:36 +0530)]
Serialize stack shutdown, state change callback and cleanup

Use Case: Bluetooth On/Off scenario, User switch

Steps:
1. Turn ON Bluetooth
2. Switch user
Also observed on occurrence of enable/disable timeout during On/Off testing.

Failure: Crash while sending state change HAL callback.

Root Cause: In the event when stack cleanup is queued to stack manager
thread when stack shutdown is being processed, stack cleanup starts
execution as soon as stack shutdown is finished.
If the function event_signal_stack_down posted to btif thread at the
end of stack shutdown is executed after stack cleanup crash occurs.

Fix: Serialized the execution of stack shutdown, state change callback
execution and stack cleanup to happen in same order.

Test: code compilation.

Change-Id: Ic96205b5c304acb44eab53f4e2cb150726643bda
(cherry picked from commit 16e112b1861d8f1147325372608c905627e00e88)

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 agoRemove position dependent lookup tables in AT command parser
Andre Eisenbach [Sat, 23 Jul 2016 06:15:11 +0000 (23:15 -0700)]
Remove position dependent lookup tables in AT command parser

The various position dependent lookup tables in the AT command parser
were out of sync, causing invalid responses to the AT+CBPS command for
example.

This patch gets rid of positionally dependent enums for simple lookup
tables that correlate all the values for easier, less error prone
maintenance of the related tables.

This re-instates a previously reverted patch after fixing incorrect
field order in tBTA_AG_INDICATOR_MAP.

Change-Id: I7f8a052e78706c8c72c5102b38cfe9ce200ae0d9
Fixes: 29978908

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