History log of /frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2fc6e6bfd280b6391ed1533c443bde301765a3be 29-Dec-2015 Jakub Pawlowski <jpawlowski@google.com> 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
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
044b8f3f032e8dde6fd34baf08ff3c4610d8c2a1 17-Nov-2015 Christine Hallstrom <hallstrom@google.com> 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
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
72f491dd8642e6854fd4c6d40d77c06312af6e3b 14-Jul-2015 Fyodor Kupolov <fkupolov@google.com> 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
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
3b3d1fea94318a4892fbd4353269749af417a81a 08-May-2015 Casper Bonde <c.bonde@samsung.com> 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>
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
708f57f4dc34587cd9a0b507fda20555a94c4755 14-May-2015 Andre Eisenbach <eisenbach@google.com> Un-hide connectGatt() variant with selective transport

Change-Id: I1d3c512160de2bd68550faf243bb151d5cf7f3c9
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
2d49752ee050ab7f1cd848933f6c62a73707e2d9 24-Apr-2015 Tor Norbye <tnorbye@google.com> Add bluetooth permission annotations

Change-Id: I5bc86f8ec6ea5c873f1e14dab0e0c47c5c9df7f7
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
2a5f608e7a5765db3b91165dac5b6280b26da26c 19-Mar-2015 Casper Bonde <c.bonde@samsung.com> Add support for Bluetooth Sim Access Profile (2/4)

Change-Id: I6c634aa38d31a7b5a98c9089840557257fd58209
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
d055adbe2c1c65d9346e65209fa8790190bc239e 03-Mar-2015 Nitin Arora <niarora@codeaurora.org> Bluetooth LE background operation mode (2/2)

Changes include new framework APIs to enable and disable Bluetooth LE
separately from Bluetooth Classic. Along with handling the new states
in the Bluetooth manager service.

Change-Id: Idf667981f48fcbcb6dfda1aa77ea8bab1b2361f0
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
238e0f934f1f47263b384bc745ae0678c777130d 09-Apr-2015 Casper Bonde <c.bonde@samsung.com> OBEX Over L2CAP + SDP search API for BT profiles

- Updated OBEX to support SRM
- Added support for OBEX over l2cap and SRM.
- Minor bugfixes, and reduce CPU load ALOT
- Added support to send responses without body data.
- Extend BluetoothSocket to support L2CAP
- Added functionality to get the channel number
needed to be able to create an SDP record with the channel number.
- Added interface to get socket type and max packet sizes.
- Added interface to perform SDP search and get the resulting
SDP record data.

Change-Id: I9d37a00ce73dfffc0e3ce03eab5511ba3a86e5b8
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
2b8696e3a91194db0bfd876b8cc68843a7ccd080 06-Feb-2015 Andre Eisenbach <eisenbach@google.com> Add API to check if a Bluetooth connection is encrypted (1/2)

Bug: 19186961
Change-Id: I24656a07ee23ebfe067a9dfb9c1bc4041c782d8c
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
8dd30aadaf133fe1b8974847efdd5b8cf285136d 05-Sep-2014 Edward Jee <edjee@google.com> Adds APIs for Bluetooth PBAP and MAP access permission.

Currently, users' preference in phonebook and call history or message
access per each Bluetooth-paired device is stored in Settings application's
shared preferences.

However, some privileged applications other than Settings need to access
such data. So we decided to migrate the data from Settings application's
shared preferences to Bluetooth application's.

Bug: 17158953
Change-Id: I3771f03eaea3f57cf60d93ab9fd41c9eb3e1e99c
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
57210c7a1aebb86d091dee0af49b45649ca47f87 05-Aug-2014 Andre Eisenbach <eisenbach@google.com> Add transport parameter to createBond() function (4/4)

Bug: 14063256
Change-Id: I096248b60752992aa23ce5bfbfc47fda95773db2
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
8949bfb90c415629dbd0e30d25003fb3e0375fb5 16-Aug-2013 Hemant Gupta <hemantg@codeaurora.org> Bluetooth: Support MAP Client role on Bluedroid.

Implementation changes to support MAP client and PBAP client
role on Bluedroid stack.

Change-Id: I1733a67bf5256bd7b181bd5e68e40b476994ebfd
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
174928c0aaf020de4514a5c02799299c6e56e4c0 08-May-2014 Jay Civelli <jcivelli@google.com> Adding a method to know if there is a connection to a BluetoothDevice.

Adding a new method to BluetoothDevice that lets callers know whether a remote device is
connected.

Change-Id: I6f7cb99147f3cdad1d676a93183856dbb4083a06
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
b88fa824ab6337684de9aa8437c4952df4f1a75e 18-Apr-2014 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Add transport param to Connect APIs

Support for passing preferred transport for GATT connections as part of
Connect APIs

Change-Id: I93938dce519b8fa12de41d7e8690dc9355ce2dc5
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
9efa3b6c6349c1eede54f7a0af77eb450ae78c76 14-Jan-2014 Zhihai Xu <zhihaixu@google.com> Merge "NPE in BluetoothDevice.fetchUuidsWithSdp"
5d04f1c9d9390579c9205d2faf09b954cbcc1aea 14-Jan-2014 Zhihai Xu <zhihaixu@google.com> NPE in BluetoothDevice.fetchUuidsWithSdp

This is caused by access fetchUuidsWithSdp after bluetooth is turned off.
We can add check null pointer for sService,
before call sService.fetchRemoteUuids(this) to fix this problem;

bug:12533948
Change-Id: Id2cab92a56185073fabcabcfb21a243e99a60cee
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
ac2c6c3a16a69053596b350e94fee52ce85eeacf 21-Oct-2013 Matthew Xie <mattx@google.com> Change pairing api/intent permission from PRIVILEGED to ADMIN

The APIs are createBond, setPin, setPairingConfirmation
The intent is ACTION_PAIRING_REQUEST
bug 11101076

Change-Id: I3a314efd973b3ce078ab5347159c336f222d9f15
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
430e361b202ecff8a10a9258948ade99689fe6b1 08-Oct-2013 Edward Jee <edjee@google.com> Makes ACTION_PAIRING_REQUEST require BLUETOOTH_PRIVILEGED.

Bug: 11087521
Change-Id: I99cc584987bf12fe0648b048398b4eb9836e6172
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
68c692df5f667dcee42506d3c6459d3dc2e1cdd6 02-Oct-2013 Mike Lockwood <lockwood@google.com> Revert "Allow L2CAP sockets"

This reverts commit 34b0f926135b4697f091b3b39bfca8c70512af6c.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
091fc2ba7a4441b9985dfd9ebe25cb7c99a7324b 24-Sep-2013 Matthew Xie <mattx@google.com> Unhide setPin, setPin, setPairingConfirmation, and relevant intent fields

bug 9987787

Change-Id: Id1c149964137e35703310e2f2893c8830aacddea
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
34b0f926135b4697f091b3b39bfca8c70512af6c 10-Aug-2013 Dmitry Grinberg <dmitrygr@google.com> Allow L2CAP sockets

Change-Id: Icb498e6c0430789b6168bec3beb1d4650e4f1238
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
fe3807a5b23f54f6539436d71aa0cd931a2b76f0 19-Jul-2013 Matthew Xie <mattx@google.com> Bluetooth MAP profile - sms and mms support initial check-in

bug:10116530

Change-Id: I57d022005bcff5bc3e56438a81ac92566f957744
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
b30f91e38c19f6728d836293446d4b9c76705e7f 29-May-2013 Matthew Xie <mattx@google.com> Update javadoc to give app write better guidence

Update javadoc of close methods of GATT cliet and server
Update javadoc of BluetoothAdapter
bug 8963528

Change-Id: I45ec618fd495225ed11a6171f33bfdc218397d4c
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
32ab77b4c52db78aea22cb32824c7fd68d6f8c21 09-May-2013 Matthew Xie <mattx@google.com> Donot bind to GATT service when BLE is not supported

bug 8664724

Change-Id: I9b9222cd5877babcded73798a5d1ff13fd10e791
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
33ec9840c70ddc7cd008ecf2660c441defc5f302 03-Apr-2013 Matthew Xie <mattx@google.com> Change BluetoothGattCallback methods argument from BluetoothDevice to BluetoothGatt

Change name of BluetoothDevice#connectGattServer to BluetoothDevice#connectGatt
Add BluetoothGatt#getDevice to retrieve device from BluetoothGatt
Add BluetoothGatt#connect() to reconnect back to the server.
Make BluetoothGatt#close() public to clean up/unregister callback
Add BluetoothDevice.getType() to return int of
bug 8529188

Change-Id: Iebd9ac68cc7a64c43972e617dd3068f66c8ea0b2
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
84e594f7dbe6108a2c6c57d5d9d941d0b0563b4b 29-Mar-2013 Matthew Xie <mattx@google.com> Merge "Unhide Bluetooth Low Energy public APIs" into jb-mr2-dev
ddf7e4756c31d0ed90802f98abeaa79df6d16b2a 02-Mar-2013 Matthew Xie <mattx@google.com> Unhide Bluetooth Low Energy public APIs

Updated API headers. Add BluetoothManager to be retrieved by
context.getSystemService(Context.BLUETOOTH_SERVICE).
LE scan functions are placed in BluetoothAdapter
The GATT API are device driven instead of a profile-driver.
bug 8450158

Change-Id: I424a4cedaac3ef8120a05996500008dd210d2553
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
3e4a3ea2ff03a6a1f1f7a2bebac9a86fe6555754 27-Mar-2013 Chirayu Desai <cdesai@cyanogenmod.org> Correct executable bit for source files [Take 2]

Change Ieb51bafb46c895a21d2e83696f5a901ba752b2c5 left out some
files, this fixes them.

Change-Id: Ia949a8581668836ea0251602e048f09c852f5169
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
305f240dc12325af4fa267e7c4f52c680bb05280 19-Jun-2012 Syed Ibrahim M <syedibra@broadcom.com> handle NullPointerException in cases where a proxy
call to AdapterService is called after Adapter
Service is stopped.

Change-Id: I009787f03f9a013b9b06fcb7e3f6241c850f8cd2
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
903ac6f399dcd4f574bf388daa7b5f5907d448d3 24-Apr-2012 fredc <fredc@broadcom.com> Fixed issue with Settings app crashing after during on/off and unpair.

Fixed issue with BluetoothAdapter.getRemoteDevice() returning null.

Change-Id: Ie86813532530a6b57bde1c430c7b4875ecc7354c
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
7077272d8feed2f0172520d4fd3b4524e18d5ec1 23-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Disable debug logs in BluetoothDevice, that was turned on accidentally Change-Id: I8a0a3f5775c2b9f5a928e4840851e687f25b57ab
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
0f42037eb7b5118015c2caca635538324ccf0ccf 12-Apr-2012 fredc <fredc@broadcom.com> Non persistent adapter service

Change-Id: Ib13d5c77416e58161df0e04d7a15ec0dddbde8b5

Conflicts:

core/java/android/bluetooth/BluetoothInputDevice.java

Conflicts:

core/java/com/android/internal/app/ShutdownThread.java
services/java/com/android/server/SystemServer.java

Conflicts:

services/java/com/android/server/SystemServer.java
services/java/com/android/server/pm/ShutdownThread.java
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
919a4c6264b733585152ce1dc6f868c1093d368b 13-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Handle cancel bond for both legacy and ssp pairing

Change-Id: I7a6db3cd7b5b8e72dca988e753dcba9a8df614c8
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
4c9cacadcc7ab20e06763746bbb41d0acdc106b5 06-Apr-2012 fredc <fredc@broadcom.com> Added support to get a remote device's service UUIDs

Change-Id: I9aa47ac2bb7377aca268e95fec31c518358b3065
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
db44b20fe6aed65d5cd7e1f6d7c52e4322083039 13-Mar-2012 Priti Aghera <paghera@broadcom.com> Added support to cancel pairing from UI while doing SSP.
The new code sends SSPReply with one of the arguments as false.
Signed-off-by: Priti Aghera <paghera@broadcom.com>
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8 26-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Changes for new Bluetooth APIs.

Changes to Bluetooth Adapter, Device and IBluetooth interfaces
for new Bluetooth APIs. Delete AudioGateway.

Change-Id: Ib51b31187eafde261441b9311b5e7e13c8bff82f
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a 21-Apr-2012 Jeff Brown <jeffbrown@google.com> Get alias for Bluetooth devices.

Bluetooth devices can be renamed by the user. Make the
input system aware of the user-specified name and transparently
pass it down to applications. This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.

Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 20-Dec-2011 Joe Fernandez <joefernandez@google.com> docs: Add developer guide cross-references, Project ACRE, round 4

Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
ad2321027e9731711544b43378bd7b2f01890774 08-Nov-2011 Matthew Xie <mattx@google.com> Make public APIs of ACTION_UUID, EXTRA_UUID, getUuids, and fetchUuidsWithSdp

Give APP a way to find out if a service is supported by a remote device
bug 5487202

Change-Id: I5a2d050cf24d945e1c9875963c34177ed1ce773a
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
9d6a51623fdabbe993d7b8848794607394ef7cc2 08-Nov-2011 Ed Heyl <ed@google.com> Fix build break; Revert "Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp"

This reverts commit ae5839dcad76625313e6736d69eeaf37af435a3f.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
ae5839dcad76625313e6736d69eeaf37af435a3f 27-Oct-2011 Matthew Xie <mattx@google.com> Make public APIs of ACTION_UUID, getUuids, and fetchUuidsWithSdp

Give APP a way to find out if a service is supported by a remote device
bug 5487202

Change-Id: Ie778b3227f29a24cdf61fa0365b82f9a45d439dc
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
269e81a563cfe080d7f241d0d46411d3c946c111 27-Jul-2011 Matthew Xie <mattx@google.com> Provide an API to set the friendly name of a remote device.

BluetoothDevice setName overwrite the locally cached remote name.
The changed name is saved in the local storage so that the change
is preserved over power cycle.
bug 5081605
Change-Id: I486966033828d153bfb1076a99e274c8a7f41636
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
a0c680393f2dd03a937c598b2cb9abf98a58152c 26-Jun-2011 Matthew Xie <mattx@google.com> Incoming Bluetooth Connection requests - dialog.

This sends the intents to the Settings app to show
the dialogs for the incoming connection requests.
Includes down merged contributions from Jaikumar Ganesh.

Change-Id: Ic8b857aad3554315aae39a0e871eb94d0ac98a91
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
c8fa4ff838a0c3d2c67db65540fa751e5abe27ed 26-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> Improve readability of java docs for the public APIs.

Change-Id: I0a0f1be04ed2ea2c14498a1a2ed4b050191ec95b
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
c88b0c62c52ab76f1277f3c999d795d8ba527028 05-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> Follow the spec recommendation for keyboard pairing.

Generate a variable pin and show it to the user.

Change-Id: Id4aae7a16f25c67d6c6ead6fd936cb14087f3c7a
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
6eef14a7fcf6b6338f21f760830abf369ca0137d 23-Dec-2010 Jaikumar Ganesh <jaikumar@google.com> Expose insecure rfcomm Bluetooth API.

This complements the secure rfcomm API.
The link key is unauthenticated and is subject to MITM attacks.
The link key may be encrypted depending on the type of Bluetooth device.
This helps apps which don't need the extra security or
have their own security layer built on top of the rfcomm link.

Change-Id: I71b2fa8de469ef98faa204b4dafac18a8e21d0d9
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
f51eadaf1f83abfe16a609a4ded6d789494689b2 21-Sep-2010 Jake Hamby <jhamby@google.com> Typo fixes in comments and minor code cleanups.

* Fix some typos in Javadoc and log messages.
* Remove redundant initializer in BluetoothAdapter.readOutOfBandData()
* Use canonical "UTF-8" charset name instead of "UTF8" in
BluetoothDevice.convertPinToBytes()

Change-Id: I58cd5dc48a7ad0053d204c5f590b4b3d438d8672
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
cc5494c9996f809e36539b24e8b6b67683383d29 10-Sep-2010 Jaikumar Ganesh <jaikumar@google.com> Out Of Band API for Secure Simple Pairing.

Change-Id: I54ded27ab85d46eef3d2cca84f2394b1ffe88ced
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
ea5056e5a705048f8495131ab0dcf087a2633fed 24-Feb-2010 Nick Pelly <npelly@google.com> Add documentation to help developers make an RFCOMM conection to a Bluetooth
serial board. They all use a well-known UUID that is not really explained
anywhere official, and this always trips developers up.

Change-Id: I53bda44b580f472b1ff1ad196b25485b68f4b5d5
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
3fbf7b62bb48b10316353087d09cc3720af00642 03-Dec-2009 Jaikumar Ganesh <jaikumar@google.com> Add support for Car Dock.

Dr No: Eastham
Bug: 2133530
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
9fab0aef19a4633d2e4670564e5d7ae9e52fe11f 04-Nov-2009 Scott Main <smain@google.com> docs: add more documentation for the bluetooth apis.

more descriptions for some of the classes and a new
overview and pseudo-code example for using BT APIs
in the package summary.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
e6ee3be1c254404dad842298f6f56c11cc6c7ac8 08-Oct-2009 Nick Pelly <npelly@google.com> BT API security audit: fix a couple of permission mistakes.

Make functions that are meant to be BLUETOOTH_ADMIN really
BLUETOOTH_ADMIN.

Add some missing javadoc for permissions.

The only functional change here is the BLUETOOTH->BLUETOOTH_ADMIN
changes. This is super safe because every system app that uses BT
has both permissions.

Change-Id: Iddc61f9fd5d81fe0171358665a0fa52f2fa02871
DrNo: eastham
Joke: How do you catch a rabbit? Hide behind a tree and make carrott noises.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
e5d93b7ed983f98855555d560faf060836f1a52f 08-Oct-2009 Jaikumar Ganesh <jaikumar@google.com> Set the Bond State to NONE when we receive a Agent Cancel.

Sometimes during OPP, we can get stuck in Pairing state when the remote
end, cancels the Pairing process - we will just get onAgentCancel
and thus not set the Pairing state properly.

DrNo: Eastham
Bug:2174874
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
f242b7b931898856bcbcb7ec36cacf43098ba544 08-Oct-2009 Nick Pelly <npelly@google.com> Introduce BluetoothAdapter.getDefaultAdapter().

This is the main entry point to the Bluetooth APIs, and returns the default
local Bluetooth adapter.

It replaces context.getSystemService(Context.BLUETOOTH_SERVICE). This was
never in a public SDK release.

DrNo: eastham
Bug: 2158765
Joke: Why can't you play cards in the jungle? Because there's too many cheetas!
Change-Id: Ieed8be009ee5aba621cb69090ee8c8a9c19c840d
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
16fb88a673c41b93c5d57ccb28c2697e7d87701a 07-Oct-2009 Nick Pelly <npelly@google.com> Encourage developers to connect RFCOMM by UUID instead of Channel.

Hide createRfcommSocket(int channel)
Add createRfcommSocketWithServiceRecord(UUID uuid)

Rename listenUsingRfcomm(String,UUID) -> listenUsingRfcommWithServiceRecord(..)

Now we have a complete API for developers to make peer-peer RFCOMM connections
with hard-coding the limited (30) RFCOMM channels, instead using SDP lookup
of an UUID.

This commit addresses two serious bugs:
- Do not throw IOException on accepting an incoming RFCOMM connection with
BluetoothSocket. This was a regression from commit 24bb9b8af4ff6915
- Workaround failure of bluez to update SDP cache when channel changes by
trying to use the same RFCOMM channel on the server every time, instead
of picking server channels randomly. This is a pretty ugly workaround,
and we are still trying to fix the caching issue - but with this
workaround we are at least shippable and apps will work at least until
they start colliding on the 30 RFCOMM channels.

DrNo: eastham
Bug: 2158900
Joke: What did the digital watch say to his mom? "Look mom no hands."
Change-Id: Ia4879943b83afac06b6f1a3f2391cf1628afce7d
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
aef439e6f825c0cb99a2ac08c8207f48b7a9fe10 28-Sep-2009 Nick Pelly <npelly@google.com> Move android.bluetooth.ParcelUuid to android.os.ParcelUuid

Change-Id: I564429d5c5b6a5372b6ff26a53b0d7e518b53631
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
18b1e79a123b979d25bfa5d0b0ee5d0382dbd64b 24-Sep-2009 Nick Pelly <npelly@google.com> Bluetooth API: Do not allow apps to programmatically make BT discoverable.

Instead add ACTION_REQUEST_DISCOVERABLE for the system to show a dialog to
adjust discoverable mode.

Also remove createBond(), removeBond() and cancelBondProcess(). The Settings
App already handles these automatically when connections require bonding.

Change-Id: I216154cd1b6de410de64ba91b07d7263ac03e8df
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
1caa6d111eff6814760ec156b14adc29aa3aae6c 18-Sep-2009 Jaikumar Ganesh <jaikumar@google.com> Add new API for fetching UUIDs using SDP.

Add new API which clients can use to force an SDP query.
The result is broadcast using an intent having the UUIDs.
The intent is broadcast after a timeout, in case of an error.
This timeout is greater than the page timeout.

Change-Id: I61e6db4c05b34c42f679a66987e37e2063a793b6
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
074c11c1649a097ba1beae719069f8d4a2dd43e3 17-Sep-2009 Nick Pelly <npelly@google.com> Do not @hide Parcelable implementations in BluetoothClass and BluetoothDevice.

Change-Id: I92389c53a9b99c9507f78898329ff87b631c7aa3
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
dd0463aef18d251c741bfc9dc7a2787443ef36f1 16-Sep-2009 Jaikumar Ganesh <jaikumar@google.com> Change handling of remoteUuids.

Use the ParcelUuid instead of UUID

Change-Id:Ie05d65a62e8a4df8182a4c737d46c14142bfec43
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
32d8571f509c392dca732c243e9b2138c15daecf 11-Sep-2009 Jaikumar Ganesh <jaikumar@google.com> Changes for BT 2.1

1) Handle incoming 2.1 pairing requests
2) Modify displaying error messages on bond failures.
3) Add delay while accepting incoming pairing for certain 2.1 devices.
When MITM is on, the link key request might come more than once.
Auto accept with a delay.
4) Handle DisplayPasskey callback for pairing a 2.1 keyboard with
a 2.1 device
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
005b228cdfb369d9b3b325884c0337ba5968bf8c 10-Sep-2009 Nick Pelly <npelly@google.com> API_CHANGE: Cleanup, javadoc and unhide more Bluetooth API.

This is a large batch, and covers:

-- Bluetooth Device Discovery --
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothAdapter.ACTION_DISCOVERY_FINISHED
BluetoothAdapter.startDiscovery()
BluetoothAdapter.cancelDiscovery()
BluetoothAdapter.isDiscovering()

-- Bluetooth bonding (pairing) --
BluetoothAdapter.getBondedDevices()
BluetoothDevice.ACTION_BOND_STATE_CHANGED
BluetoothDevice.EXTRA_BOND_STATE
BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE
BluetoothDevice.BOND_NONE
BluetoothDevice.BOND_BONDING
BluetoothDevice.BOND_BONDED
BluetoothDevice.getBondState()
BluetoothDevice.createBond()
BluetoothDevice.cancelBondProcess()
BluetoothDevice.removeBond()

-- BluetoothClass --
BluetoothDevice.ACTION_CLASS_CHANGED
BluetoothDevice.EXTRA_CLASS
BluetoothDevice.getBluetoothClass()
BluetoothClass.Service.*
BluetoothClass.Device.Major.*
BluetoothClass.Device.*
BluetoothClass.getDeviceClass()
BluetoothClass.getMajorDeviceClass()
BluetoothClass.hasService()

-- Misc BluetoothDevice --
BluetoothDevice.ACTION_ACL_CONNECTED
BluetoothDevice.ACTION_ACL_DISCONNECTED_REQUESTED
BluetoothDevice.ACTION_ACL_DISCONNECTED
BluetoothDevice.ACTION_DISCOVERED
BluetoothDevice.ACTION_NAME_CHANGED
BluetoothDevice.EXTRA_DEVICE
BluetoothDevice.EXTRA_NAME
BluetoothDevice.EXTRA_RSSI

-- Misc BluetoothAdapter --
BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED
BluetoothAdapter.EXTRA_LOCAL_NAME
BluetoothAdapter.checkBluetoothAddress()

I deprecated BluetoothIntent and moved each intent into the class it relates
to.

Change-Id: I877b1280428ab46278b2bc25668bb44cda22dc36
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
b24e11baac589fe16426f2d243b460ab84991c7b 09-Sep-2009 Nick Pelly <npelly@google.com> API_CHANGE

Deprecate BluetoothError.java.

I spent a lot of time experimenting with a class BluetoothError to enumerate
the many error codes returned by the Bluetooth API. But at the end of the day
they were never used. The vast majority of method calls only really need a
true/false error value, and often not even that.

Methods which do need more detailed error enumeration (for example, bonding
failures) can have there own enumerated error codes. But there is no need
for a common set of error codes.

Also change the IPC failed warnings in BluetoothA2dp to Log.e. These indicate
a very serious error.

Introduce BluetoothAdapter.ERROR and BluetoothDevice.ERROR as helper sentinel
values.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
de893f550301a60274e87aa8168225e7a7a42184 08-Sep-2009 Nick Pelly <npelly@google.com> API_CHANGE

Another round of Bluetooth API clean up, javadoc'ing and unhide'ing.

-- Symbols for getting/setting bluetooth state --
BluetoothAdapter.ACTION_STATE_CHANGED
BluetoothAdapter.EXTRA_STATE
BluetoothAdapter.EXTRA_PREVIOUS_STATE
BluetoothAdapter.STATE_OFF
BluetoothAdapter.STATE_TURNING_ON
BluetoothAdapter.STATE_ON
BluetoothAdapter.STATE_TURNING_OFF
BluetoothAdapter.isEnabled()
BluetoothAdapter.getState()
BluetoothAdapter.enable()
BluetoothAdapter.disable()

-- Symbols for getting/setting scan mode --
BluetoothAdapter.ACTION_SCAN_MODE_CHANGED
BluetoothAdapter.EXTRA_SCAN_MODE
BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE
BluetoothAdapter.SCAN_MODE_NONE
BluetoothAdapter.SCAN_MODE_CONNECTABLE
BluetoothAdapter.SCAN_MODE_DISCOVERABLE
BluetoothAdapter.getScanMode()
BluetoothAdapter.setScanMode()

-- Symbols for getting address/names --
BluetoothAdapter.getAddress()
BluetoothAdapter.getName()
BluetoothAdapter.setName()
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
cf44059813539bf7f36dabd278cef93ba3122c56 08-Sep-2009 Nick Pelly <npelly@google.com> Add javadoc to explain which permissions are required for Public BT API's.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
efa1dd716da3372cc74a201d11de5e0ef1a9fe9a 31-Aug-2009 Lixin Yue <L.X.YUE@motorola.com> Add Bluetooth Device trust
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
a4433af5ac677be7c1f63447c0cd78829bdee159 09-Jul-2009 Yue Lixin <a5206c@motorola.com> Add Bluetooth device picker support

- add Intent and Extra definition
- move profile filter into BluetoothClass
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
45e2704ff512d41e22af2801d76e96955469ce8d 19-Aug-2009 Nick Pelly <npelly@google.com> API CHANGE

Javadoc, and unhide the first pieces of the Bluetooth API.

With this commit there is enough public API to connect and use an RFCOMM
connection between Bluetooth devices.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
bd022f423a33f0794bb53e5b0720da2d67e4631c 15-Aug-2009 Nick Pelly <npelly@google.com> Bluetooth: API change.

Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.

BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).

IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java

TODO:
Javadoc
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
b0eca41de0bb6747d8648b134912782e45e4cbef 17-Jul-2009 Jaikumar Ganesh <jaikumar@google.com> Initial support of 2.1 pairing.

Note: Some cases have not been tested yet, as we would need to
get proper UI support.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
12cae39747c49e2886bcfbac9ec42094bdb32209 17-Jul-2009 Jaikumar Ganesh <jaikumar@google.com> Revert "Initial support of 2.1 pairing."

This reverts commit 228b2f3a813e93413a0f9e2f29dfbfc54590a356.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
228b2f3a813e93413a0f9e2f29dfbfc54590a356 17-Jul-2009 Jaikumar Ganesh <jaikumar@google.com> Initial support of 2.1 pairing.

Note: Some cases have not been tested yet, as we would need to
get proper UI support.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
d5ac1ae36b4e096eb97984334f86d0c68abea2f7 06-May-2009 Jaikumar Ganesh <jaikumar@google.com> Framework changes for bluez4.

Changes in the Bluetooth JNI calls and framework functions
for Bluez4.
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
2b5be0748d160c6df1a9197272a776dc35879081 31-Mar-2009 Nick Pelly <> AI 143812: am: CL 143788 am: CL 143740 Don't clear supported profiles in settings app if getRemoteClass returns error.
Also clean up the error codes returned by the framework, so that the settings app can properly detect an error.
Original author: npelly
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143812
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/bluetooth/BluetoothDevice.java