Commit Graph

624 Commits

Author SHA1 Message Date
Ajay Panicker
1dfa47ee3e Merge "Allow factory reset when bluetooth is off (1/2)" 2016-04-01 23:46:33 +00:00
Andre Eisenbach
2358043983 Merge "Always use Write Request for GATT descriptor writes" 2016-04-01 00:18:48 +00:00
Ajay Panicker
db005bdce9 Allow factory reset when bluetooth is off (1/2)
Bug: 27348444
Change-Id: I6c2709371b86581709649d7faf09391230449b9b
2016-03-31 23:39:15 +00:00
Andre Eisenbach
060956bf67 Fix log spam in getCharacteristicById()
Bug: 27744135
Change-Id: I43f6358484729dedd85eb52432ad9805a66ff81e
2016-03-31 18:00:14 +00:00
Andre Eisenbach
942aebc959 Always use Write Request for GATT descriptor writes
According to the Bluetooth Core specification v4.2, Vol 3, Part G,
section 4.12.3: "The Attribute Protocol WRITE REQUEST is used used
for this sub-procedure".

Change-Id: I86e4e1d3a8bfd7d78dfed8419f8abd2d7e89b2bc
2016-03-31 17:59:44 +00:00
Jakub Pawlowski
a9e27ec0ab Use handles to identify GATT attributes (4/4)
Bug: 27778668
Change-Id: I01e095939df2f8dc433f14b473957c815ecade74
2016-03-22 00:39:28 +00:00
Ajay Panicker
d455c8cd43 Make BluetoothManagerCallback oneway to prevent waiting on response
Bug: 27384453
Change-Id: I2cd0f1bc03c7a1e887c89faa18d5baa6ca5be24a
2016-03-18 22:47:26 +00:00
Jakub Pawlowski
8d312a84d6 Change how services are passed up to the stack
Right now we pass all services, characteristics and descriptors one by one.
This patch changes that - now we pass whole GATT database at once.

Bug: 27455533
Change-Id: Ie42cd80072538e411904b9c9b011a978f26158b9
2016-03-18 12:57:33 -07:00
Bill Yi
2528fcdfbd Merge commit '26ada7e78993241d702a908eae93d174cbb3c8b3' into HEAD
Change-Id: Ifc45930160cf01ee78ecfbfdc48697055f82e0a7
2016-02-17 11:38:55 -08:00
Jakub Pawlowski
c28caad44b Implementation of BluetoothDevice.createBondOutOfBand
This patch implements out of band pairing that uses optional data.
Currently, it works only for LE transport, using Temporary Key value.
In the future fields might be added to OOBData to support other options for
optional data.

Change-Id: I0811182efb72ac5f80521ed4876b32603cb628c1
2016-02-03 16:12:47 -08:00
Marie Janssen
0c04ccd952 IBluetooth: remove dump(), support arguments
Because IBluetooth is a Binder service, we don't need dump() to
support dumpsys, just call the IBinder.dump().

Change-Id: Idcd48f758427b824e0b7eaafd091ba3fb2ff8993
2016-01-21 23:53:37 +00:00
Sanket Agarwal
ba12af5167 Add support for AVRCP 1.3.
* Add metadata support.
* Add player settings support.
* Add playback support.

A2DP Settings App support.

Bluetooth: A2DP Sink support for Settings App

- add support for A2DP Sink in Settings App. This will enable connection
  initiation and updation on Settings App
- add framework Apis to support A2DP Sink. Any third party Apps can access
  A2DP Sink priority of device and playing state of device
- add support for key to set priority. This manages priority of device for
  A2DP Sink profile

Change-Id: If5f9139f37cdb9d200387877c7801075205c78a0
2016-01-19 14:37:18 -08:00
Neil Fuller
f19a33a070 Merge "Add thread safety documentation"
am: b3ea05a56e

* commit 'b3ea05a56ea980541d328ab7534a2da230d62c06':
  Add thread safety documentation
2016-01-15 16:36:34 +00:00
Neil Fuller
2c9d40a06e Add thread safety documentation
An upcoming change will remove "synchronized" from the API docs. This change
documents those cases where the guarantees can be determined from code
inspection.

Bug: 25767152
(cherry-picked from commit bf0dc0fba7)

Change-Id: I328b96328e89950b90d537bf0a6a704242de4993
2016-01-15 16:26:26 +00:00
Bryce Lee
15309a3d20 Remove duplicate Bluetooth profiles.
Change-Id: I04fd867511713dd02ef249b113f7a46c69f22f98
2015-12-18 11:34:20 -08:00
Bryce Lee
cf91b45c05 Merge "Add setting for declaring disabled bluetooth profiles." into cw-e-dev 2015-12-17 19:40:47 +00:00
Bryce Lee
e457fa4b9d Add UUID to BluetoothHeadsetClientCall
This will allow for unique identification of a call as id only provides
uniqueness per session.

Bug: 26016489
Change-Id: I643d24bf5ff5680c26e530075649ef2a4f378295
2015-12-16 15:33:59 -08:00
Bryce Lee
ec85f34812 Add setting for declaring disabled bluetooth profiles.
Bug: 25900899
Change-Id: I420a7c590d72ba10f3e466d15dccfdbb520e810a
2015-12-16 13:32:28 -08:00
Bryce Lee
3c67873f0a Improve logging in BluetoothHeadsetClientCall.
Bug: 26032099
Change-Id: I497edc9aa4c19cc7159993a899071e7b0c26db63
2015-12-08 11:22:31 -08:00
Christine Hallstrom
044b8f3f03 Log API calls to createBond(), cancelBondProcess(), removeBond()
In an attempt to better be able to debug Bluetooth-related parts of
the system, add info-level logging including calling process and
thread whenever the aforementioned functions are called.

Bug: 25996120
Change-Id: I5a72b2ab929f805ec1c43cc54879ed079a8dfe34
2015-12-03 19:08:17 +00:00
Bryce Lee
0db53d90a0 Add Bluetooth headset API to allow disabling audio route.
This functionality is required by devices which have multiple profiles
using the SCO channel. For example, a device that is both a HFP AG and HF.
In this case, we must explicitly notify the profiles when they can acquire
the channel as they are not aware of each other. A similar change was
previously added to the Bluetooth Headset Client profile.

Bug: 25485578
Change-Id: Ia60cfdd33c2c3c3f185464b24056f8ccb976056d
2015-11-16 08:55:52 -08:00
Bryce Lee
dc13382622 Add ability to set whether audio route is allowed in BluetoothHeadsetClient
Bug: 25332357
Change-Id: I942ac0dea3e4f8580c44e027a570d0b59822a257
2015-10-28 22:21:54 -07:00
Ajay Panicker
cda6e878cd Implement Bluetooth settings factory reset (2/5)
Implemented the factory reset function to be used to reset all bluetooth
settings on device to factory default

Bug: 16161518
2015-08-05 10:35:15 -07:00
Fyodor Kupolov
7bd8be0019 Added a note about location permission
ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission is required to get
results.

Bug: 21852542
Change-Id: I3a2746d691f4d7024b0bb7b884d4436c73ce82e6
2015-07-16 19:40:13 -07:00
Fyodor Kupolov
4044440d2c Merge "Require ACCESS_COARSE_LOCATION for ACTION_FOUND broadcast" into mnc-dev 2015-07-15 01:34:43 +00:00
Fyodor Kupolov
72f491dd86 Require ACCESS_COARSE_LOCATION for ACTION_FOUND broadcast
Receivers of ACTION_FOUND intent are now required to have
ACCESS_COARSE_LOCATION permission.

Bug: 21852542
Change-Id: I8306f7431f067ca36bfc568a912385153fa3d496
2015-07-14 11:38:58 -07:00
Zach Johnson
569ff225a3 Fix BluetoothSocket file descriptor leak
Sockets accepted on a server socket didn't populate
the mPfd field, which is used to close out the java
end of the native-and-java communication socket when
the overall rfcomm socket is closed. #badnewsbears

b/21398841

Change-Id: I3adb0a9965f83d0f3006fa4f79ea4abeab5c9a17
2015-07-14 03:40:49 +00:00
Fyodor Kupolov
a179030483 Do not return devices when caller has no location permission
During startLeScan, do not return devices if calling process has no location
permission/appop

Bug: 21852542
Change-Id: Idce8f4704558574e373e8144390f2a2fa1a7e84a
2015-07-09 21:38:50 +00:00
Jerome Poichet
cd62b10bd6 Preventing leak
When transitioning from ON to OFF with LE Advertisers, advertiser do not
get a chance to unregister themselves as the stopAdvertising checks the
state of the stack and throws before unregistering the object.

It will then never remove the callback objects causing a leak.

b/22092678 | Remote service crash after switching to restricted profile

Change-Id: I04817026a524d10d60abdd8b533554a71a0112e2
2015-06-25 19:20:38 +00:00
Adam Lesinski
8a35137388 Bluetooth energy: fix overflow in calculation
Use longs instead of ints, because the energy values can get pretty
high.

Change-Id: I43e696ad9e5965c2e616b11920db5bfae5db1671
2015-06-15 17:19:07 -07:00
Casper Bonde
3b3d1fea94 SAP: Make it possible to enforce a 16-digit pin code (4/5)
This change enable the posibility to enforce using a
16-digit pin or MITM for a RFCOMM or L2CAP connection.

This is needed for the SIM access profile.

Change-Id: I3205013f9e758c353381442a86845dab467780f8
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
2015-06-09 21:42:22 +00:00
Casper Bonde
2328423d19 Add support for MITM for BluetoothSockets (1/4)
This change adds an option to enforce Man-in-the-middle protection
for the authentication process. This feature is needed for the Sim
Access Profile.

Change-Id: Ia3ef0caeb750f88608c9fa6bf6367d1c77de4cf3
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
2015-06-03 03:44:40 +00:00
Casper Bonde
da177bb5a0 SAP: Change to use new SDP Api (4/4)
Added class to carry SAP SDP record data.

Change-Id: Ic0d07402eca52c88e2be101181f6dd12e5e738d0
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
2015-06-03 00:04:37 +00:00
Wei Wang
6f54da32c9 Merge "Expose a few system APIs for BLE scan only mode." into mnc-dev 2015-06-02 17:24:00 +00:00
Wei Wang
f9e3e9e3dd Expose a few system APIs for BLE scan only mode.
Bug: 21562349
Change-Id: Ifc58efcf01edac5b4f9e5266adb966e7bc492209
2015-06-02 10:22:20 -07:00
Nitin Shivpure
1f8b844870 Bluetooth: Fix to avoid framework reboot during monkey testing
When running monkeyrunner, sometimes the framework is disconnected due
to an unhandled Java exception while binding the PAN service (when it
is unsuccessful). Handing the Java exception while binding PAN service
solves this issue.

Change-Id: Idea710593a3f9496305f636042605303e73e7749
2015-06-02 01:23:11 -07:00
Andre Eisenbach
708f57f4dc Un-hide connectGatt() variant with selective transport
Change-Id: I1d3c512160de2bd68550faf243bb151d5cf7f3c9
2015-06-02 02:28:54 +00:00
Prerepa Viswanadham
f5e368ff26 setCallbackType should be public for onlost/onfound apis
Bug: 21304922
Change-Id: I27ed4f3e00ac13354e3ef75e5686916be0d10918
2015-05-19 22:04:56 +00:00
Hemant Gupta
58fbffc36f Bluetooth: Check for mPanService before changing tethering state
Checking for mPanService before changing OR checking tethering state,
otherwise it will lead to application crash while checking isTetheringOn
OR changing tethering state.

Change-Id: I00844c03cdb8616118c1d50d7d31c75e51f0ef9b
2015-05-19 10:07:19 -07:00
Svet Ganov
408abf7f1b Do not report WiFi and Bluetooth MAC addresses - framework.
As a part of the new runtime permissions work we are limiting
the PII apps can access. BT and WiFi MAC addresses are PII and
based on our research there is no valid use case for app dev
to get these addresses aside of user tracking which we are
trying to limit.

bug:21078858

Change-Id: Ib48223b272c0fd4f5c36acc889d4f44df204b309
2015-05-18 15:14:24 -07:00
Tor Norbye
2d49752ee0 Add bluetooth permission annotations
Change-Id: I5bc86f8ec6ea5c873f1e14dab0e0c47c5c9df7f7
2015-05-15 00:18:28 +00:00
Andre Eisenbach
14dcb5f138 Bluetooth native dumpsys logging support (3/5)
Bug: 18508263
Change-Id: I88f9c90dab8b0c825010c8617709449a3dd704b2
2015-05-12 15:56:39 +00:00
Wei Wang
46ab723d55 Allow obtaining BLE capabilities in BLE scan only mode.
Bug:20923734
Change-Id: I7f3e5fd4410da39922be4512e4ba6ccdeb32887d
2015-05-07 16:27:31 -07:00
Prerepa Viswanadham
d1808401ca Merge changes from topic 'mwd-merge-050415' into mnc-dev
* changes:
  Merge commit 'b6f59f4' into master_merge
  Merge commit 'f6db0ce' into master_merge
  Merge commit '17455a3' into master_merge
  Merge commit 'b4d5b32' into master_merge
  Merge commit 'a1a2fa7' into master_merge
  Merge commit '8dfdb98' into master_merge
  Merge commit 'eba66c3' into master_merge
2015-05-05 01:06:38 +00:00
Andre Eisenbach
ab2581398c BluetoothSap class should not be public
Bug: 20823932
Change-Id: I87dfa10b994f7a14c123bb384925c08b34bfbe67
2015-05-04 23:20:28 +00:00
Andre Eisenbach
f455986a45 Add documentation for BluetoothSocket.getConnectionType()
Bug: 20824264
Change-Id: I58aa8f5bbe08ddb252f01f4ad187ae8741963f0b
2015-05-04 21:56:17 +00:00
Prerepa Viswanadham
971cd2b952 Merge commit 'eba66c3' into master_merge 2015-05-01 10:10:22 -07:00
Wei Wang
3af0a8e48d am 17004d63: am 342c22a5: am f2cfe6c0: Merge "Fix a bug in ScanSettings constructor." into mnc-dev
* commit '17004d636712c092d7ac8fdfcf933572481cebfb':
  Fix a bug in ScanSettings constructor.
2015-05-01 09:19:54 +00:00
Wei Wang
f2cfe6c0a9 Merge "Fix a bug in ScanSettings constructor." into mnc-dev 2015-05-01 07:51:40 +00:00
Wei Wang
c5065ee98d Fix a bug in ScanSettings constructor.
Change-Id: I36e6effe8063bacddd61fe2c47c0360d7ffaee71
2015-05-01 00:50:32 -07:00