Commit Graph

867 Commits

Author SHA1 Message Date
Stanley Tng
ad4d1d8e28 Allow the Bluetooth MAC address to be updated asynchronously (2/3)
There are intermittent issues where either the returned Bluetooth
MAC address to Java framework is uninitialized or this address update
arrives too late. This fix will do 2 things:
(1) Returns error when MAC address is unavailable in the native code.
(2) Updates the MAC address later by adding a new broadcast event.

Test: Check address for these cases: factory reset, system reboot, and
Bluetooth re-enable.
Bug: 36709382

Change-Id: I09720193e38fdf9139e1bb146f8e1847e2b65b1a
2017-04-20 23:34:20 +00:00
Jakub Pawlowski
4bc4a44100 Expose LE advertiser address for easier PTS tests (1/6)
This patchset adds a hidden method getOwnAddress, that lets app with
BLUETOOTH_PRIVILEGED permission to lear their own addreess. This is done
exclusively for PTS tests.

Bug: 35147497
Test: manual
Change-Id: Iaf0f2fe0613de44b8430ac25e691d66a4ad44f8d
2017-04-19 21:32:57 +00:00
Jakub Pawlowski
de74891d1c Read by UUID for PTS tests (1/5)
Add a hidden api for reading characteristic by UUID for PTS.

Bug: 35150313
Test: sl4a GattReadTest.byUuid
Change-Id: Ice4076d99e4694d20374ba0fdcae74d5ae841147
2017-04-18 20:47:03 +00:00
Jakub Pawlowski
9e377194e3 Bluetooth 5 PHY simplification
Having PHY_LE_* constants defined in four different places, with one
value being different than others is misleading. Leave just PHY_LE_*
definitions in BluetoothDevice, and add PHY_LE*_MASK for the mask used
in PHY update API.

This patch also removes need to translate PHY value between PHY update
request and event, as mask is used for request, and the value is
returned in event.

Bug: 30622771
Test: manual
Change-Id: I897effa1204a024465d55501c83c542566c4d37c
2017-04-12 10:57:03 -07:00
Jakub Pawlowski
e6c453d828 Remove enable from PeriodicAdvertisingPariameters (1/2)
Instead of setting enable to true, one can just pass null
PeriodicAdvertisingParameters and achieve same result when starting the
set.
Passing the "enable" when updating the parameters make no sense, and
might be confusing.
Experience with "timeout" field, which was a part of AdvertiseSettings
show that merging fields that go into different HCI commands can cause
problems during processing, so keep enable as separate field.

Test: manual
Bug: 30622771
Change-Id: Ida02c59eb8433537179b4d22202fe745f8b4bb3e
2017-04-11 06:18:44 +00:00
Jack He
e86bdcaed1 Add developer setting and system API for inband ringing support
* Add 1 system API to check inband ringing flag in config.xml
	static isInbandRingingSupported(Context)
* Add developer menu options to enable this feature

Bug: 19171297
Test: mm -j 40, HFP regression testing, testplans/82144
Change-Id: Iaf56ea41911f546bbc7ae1f82e399d0f8d48f75f
2017-04-10 19:49:36 +00:00
Jakub Pawlowski
010cc95583 Bluetooth 5 fix default AdvertisingSetParameters values
Having advertiser be scannable and connectable by default is a bad
choice for new advertising set.

Bug: 30622771
Test: sl4a Bt5ScanTest
Change-Id: I4fc270e78ca4e62d3077c5cd28aa59b0518d2e77
2017-04-06 17:21:28 +00:00
Jakub Pawlowski
8c5b5b0c4b Merge "Bluetooth 5 advertising duration refactoring (4/4)"
am: 3946df68ed

Change-Id: I04f7f867a1387d1816d007ba4bdebf9eecc66b06
2017-04-01 04:42:45 +00:00
Jakub Pawlowski
821523d859 Merge "Bluetooth LE Advertising minor improvements"
am: 3d84362412

Change-Id: Idc51a6673d8c29a22f9bed177ecb949a49480e3a
2017-04-01 04:40:10 +00:00
Jakub Pawlowski
5a355610fe Bluetooth 5 advertising duration refactoring (4/4)
Expose both duration and maximum extended advertising events to limit
advertising time.

Test: manual
Bug: 30622771
Change-Id: I44df300995ef985526b93f8c24389775720b3432
2017-04-01 04:34:40 +00:00
Jakub Pawlowski
f4ed33f5fa Bluetooth LE Advertising minor improvements
This patch adds some additional error checking for the advertising set
parameters, and some more comments.

Test: manual
Bug: 30622771
Change-Id: I87bd44f4179ef63694ad3ed656dc2acc52e40f1e
2017-04-01 04:33:24 +00:00
Ajay Panicker
7eaf518b71 Merge "Bluetooth: Add additional BluetoothSocket logging to root cause errors"
am: 985fe4cbd2

Change-Id: I81f642bae7fe8f1530db6474ebab26760c707fa3
2017-04-01 03:28:13 +00:00
Treehugger Robot
985fe4cbd2 Merge "Bluetooth: Add additional BluetoothSocket logging to root cause errors" 2017-04-01 03:18:46 +00:00
Jakub Pawlowski
21bd8d5f2e Merge "Fix advertise data size estimation"
am: 5b2e9f40b4

Change-Id: Ic6c0a5d5a988ebeedde333910281af54c026f428
2017-04-01 02:13:41 +00:00
Jakub Pawlowski
72e9e9f815 Fix advertise data size estimation
UUID in service data field can be 2, 4, or 16 bytes long.

Test: manual
Bug: 36553478
Change-Id: Ib5ba2d16065496ca311e8642a15a7ea6bc84d4c1
2017-03-31 16:52:48 -07:00
Ajay Panicker
c251633ce2 Bluetooth: Add additional BluetoothSocket logging to root cause errors
Bug: 34780400
Test: Code still compiles
Change-Id: I166842ecc6889f9ea403e7aa3678ed818cd80968
2017-03-31 21:22:59 +00:00
Jakub Pawlowski
c06722e788 Merge "Hide periodic scanning"
am: ca7544ea15

Change-Id: Icedae1d34de063d6b708a30bdc6217d48ed373ef
2017-03-30 03:26:18 +00:00
Jakub Pawlowski
63fad69a19 Hide periodic scanning
Bug: 30622771
Test: manual
Change-Id: I5d786b13cf99287732e16769e2563ac7c4fe715c
2017-03-29 17:11:59 -07:00
Pavlin Radoslavov
25105f6561 Merge "Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()"
am: 3c7fce3579

Change-Id: Ic8483107e72a61e8b07f26f343e36254fe57cfd9
2017-03-29 22:47:28 +00:00
Treehugger Robot
3c7fce3579 Merge "Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()" 2017-03-29 22:41:15 +00:00
Jakub Pawlowski
eeedda1453 Merge "Bluetooth: fix comment wording"
am: 6ba7c54a51

Change-Id: I745973b35e5d756072bff1d0958470dc0f55f6ca
2017-03-29 18:28:44 +00:00
Pavlin Radoslavov
61075105ca Add new internal API: enableOptionalCodecs()/disableOptionalCodecs()
This API can be used to enable the optional codecs, or disable them
and use only the mandatory SBC.
Internally, it is implemented by raising the SBC priority to
highest (so SBC will be used/selected), or reducing the SBC priority
to its default value (lowest).

Test: A2DP streaming and enabling/disabling/selecting optional codecs
Bug: 35873828
Change-Id: Ia82036ac33590a3a402b1f5a36102264d47a9029
2017-03-29 10:58:48 -07:00
Jakub Pawlowski
e7f89b07e6 Bluetooth: fix comment wording
Test: manual
Bug: 30622771
Change-Id: I5a589c98553f35248b0d95d332e9f35774075b24
2017-03-29 16:34:07 +00:00
Jakub Pawlowski
5cca752a4b Merge "Bluetooth API spelling fixes ("wether" -> "whether")"
am: 81cef3aeb8

Change-Id: Ief280cbc9283ff1cabdd3c8e53fcabd47c7881b1
2017-03-28 20:12:46 +00:00
Jakub Pawlowski
08ed924d89 Bluetooth API spelling fixes ("wether" -> "whether")
Bug: 30622771
Test: manual
Change-Id: I01c8b18d0057f2fd6e477ce2ca0b779321b6c0e6
2017-03-28 18:09:50 +00:00
Jakub Pawlowski
cfe099b01d Merge "Bluetooth GATT callback naming fix "Ext" -> "" (1/2)"
am: beb8ceada8

Change-Id: Ie88e330a1d50adac8c6b83581079c6096c4d898a
2017-03-27 21:22:15 +00:00
Jakub Pawlowski
d7116bea06 Bluetooth GATT callback naming fix "Ext" -> "" (1/2)
Gatt callback don't need the "Ext" postfix, as it was removed from new
API.

Test: manual
Bug: 30622771
Change-Id: I54596ffdcb818343cc313123266cfa16291c6236
2017-03-27 19:27:57 +00:00
Jakub Pawlowski
45487910b4 Merge "Expose connection update callback (4/4)"
am: 60865e4a8d

Change-Id: I0f5301b195b697743d1fb552dac4af8e1fd1445c
2017-03-24 20:36:30 +00:00
Jakub Pawlowski
326f7b31b9 Expose connection update callback (4/4)
Test: manual
Bug: 30622771
Change-Id: I56a3c42814249abc33e95e84ce092c2d8df65434
2017-03-24 17:22:54 +00:00
Jakub Pawlowski
cde107da6c Merge "Bluetooth 5 Enable->Enabled (1/2)"
am: fa69eeac5c

Change-Id: Ia09cf5db2f69659a3b77e4c5e663d5977793df48
2017-03-23 01:25:31 +00:00
Jakub Pawlowski
2a32d04a24 Merge "BluetoothGattCallbackExt removal"
am: e2ddacaff4

Change-Id: I59ba6c9950997ea447a5b021d509a72abc546661
2017-03-23 00:44:06 +00:00
Jakub Pawlowski
7998be9e44 Bluetooth 5 Enable->Enabled (1/2)
Test: manual
Bug: 30622771
Change-Id: I37b198927076a0267de67e1bd94eaea9e88e53bb
2017-03-22 15:42:53 -07:00
Jakub Pawlowski
d64bb883d8 BluetoothGattCallbackExt removal
New methods should be added to BluetoothGattCallback, instead of
creating Ext class.

Test: manual
Bug: 30622771
Change-Id: I2567df5baace6bd2d2f30c36d2f62056408ca5d0
2017-03-22 18:27:10 +00:00
Jakub Pawlowski
8d06b41826 Merge "Add setScannable to AdvertisingSetParameters (1/2)"
am: 7f14b8f095

Change-Id: I26846383be5c0fe88501ffd1011b27f39896a74a
2017-03-21 18:44:36 +00:00
Jakub Pawlowski
43f71975d0 Merge "Add missing txPower parameter"
am: a6c1f6def1

Change-Id: I61ac50f7f2a5d3d3ea2a3e23b441fa22bb69f52a
2017-03-21 18:43:21 +00:00
Jakub Pawlowski
d12b5688f0 Add setScannable to AdvertisingSetParameters (1/2)
There must be a proper way to specify if advertisment is scannable, when
updating the parameters.

Test: manual
Bug: 30622771
Change-Id: Ie520609d3fff07ccc2960015c19311d773842852
2017-03-21 18:37:16 +00:00
Jakub Pawlowski
bcf671b7eb Add missing txPower parameter
Test: manual
Bug: 30622771
Change-Id: Iaf3111d7545f9bb046b5a23b680347a75125ca7e
2017-03-21 18:36:05 +00:00
Jakub Pawlowski
375741e99a Merge "Bluetooth 5 AdvertisingSet implementation (1/4)"
am: f0c963a5b6

Change-Id: Ia401ccf8935b8cb315849803c5c82d1d7dd64b81
2017-03-20 22:26:42 +00:00
Jakub Pawlowski
6a55da9018 Bluetooth 5 AdvertisingSet implementation (1/4)
Test: manual
Bug: 30622771
Change-Id: Ia89718c0c2ab2eaa71b158ecdcae989af907769f
2017-03-20 20:00:36 +00:00
Jakub Pawlowski
07d79aa3b0 Merge "Bluetooth 5 move timeout parameter (1/2)"
am: d9f2f67a5f

Change-Id: Iee7d485461f5e02ab65ec9f7311e962deb603543
2017-03-17 22:34:24 +00:00
Jakub Pawlowski
adbf2eef2f Bluetooth 5 move timeout parameter (1/2)
Timeout is not a parameter, it is a property of enabling the
advertising. Move it into more proper place.

Test: manual
Bug: 30622771
Change-Id: I09ebc6c770bc02938ea16a9738a7e03dc8006fde
2017-03-17 22:23:57 +00:00
Jakub Pawlowski
2fc3834f4d Merge "LE Maximum Advertising Data Length (1/4)"
am: 74f2e1a303

Change-Id: I3b6599937ddd04a9c13573d156cc721152c0005a
2017-03-17 05:19:57 +00:00
Jakub Pawlowski
ad10affa4e LE Maximum Advertising Data Length (1/4)
Add ability to check maximum advertising data length.

Bug: 30622771
Test: manual
Change-Id: I281f7e9f294c40a47a67a22809cc753b6693f7c4
2017-03-16 18:27:01 -07:00
Jakub Pawlowski
45e0c6ea7f Merge "Bluetooth 5 AdvertisingSet implementation (1/4)"
am: 15e69df921

Change-Id: I585fc900b4a153744116fa87764db98b038184d5
2017-03-17 01:09:02 +00:00
Jakub Pawlowski
5f00f173fb Bluetooth 5 AdvertisingSet implementation (1/4)
This patch wires up fist methods of AdvertisingSet, making it possible
to start advertising and stop advertising. It also replaces legacy
implemementation with calls to new implementation.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I80a4b1b2b632d5ef8a80d958615897684cfa0c16
2017-03-16 22:17:09 +00:00
Jakub Pawlowski
58569de4de Merge "Bluetooth 5 spelling fixes"
am: 5465fe0a2d

Change-Id: Ibef8ee6a56bf1f8c695e07e4ba61c015054eee13
2017-03-13 18:11:58 +00:00
Jakub Pawlowski
bc2991e866 Bluetooth 5 spelling fixes
Bug: 30622771
Test: manual
Change-Id: I46b6486619cc7366e56b25ca48937e6792f53e1d
(cherry picked from commit 53501ad210)
2017-03-13 17:48:42 +00:00
Jakub Pawlowski
fc3c9d0e9e Merge "Bluetooth 5 Advertising API"
am: 1bb08c25b8

Change-Id: Ifd95aacf025929d3c9f5a1762f31ed20c26fabfd
2017-03-08 19:21:03 +00:00
Jakub Pawlowski
4f6034160c Merge "Bluetooth 5 PHY selection API"
am: 104eeedb42

Change-Id: I0ee2daaf0771b405c8a14598a70459879d31c953
2017-03-08 19:18:50 +00:00
Jakub Pawlowski
8acd7391bd Merge "Bluetooth 5 periodc scan API (1/2)"
am: f1d76a71c8

Change-Id: I7b68746e3dc02a12d13380a90bcf26cebfd31f16
2017-03-08 19:14:22 +00:00