summaryrefslogtreecommitdiffstats
path: root/core/java/android/bluetooth/BluetoothAdapter.java
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup references when turning BT off.Jaikumar Ganesh2011-11-281-4/+22
| | | | | Bug: 5572649 Change-Id: I62f9e0620832b69995d5c6e1c24634c9a3895a4b
* Check the bluetooth state for getUuid callMatthew Xie2011-11-161-0/+1
| | | | | | | | | Donnot make the bluetoothservice.getUuids call if the bluetooth is not on. Also get rid of all the necessary locks on BluetoothService for get property call. It had a lock on BluetoothAdapterProperty. bug5472114 Change-Id: I383472ae6006fc1f0129c960c8a44ed0df027a43
* docs: mix of BT and NFC javadoc updatesScott Main2011-09-271-5/+5
| | | | | | | Add Health profile to various discussions about profiles Add descriptions to NFC interfaces, tweak some desciptions, and fix some broken links Change-Id: Ib89434c78a4ad60b4358dca9a6c335451d1c4125
* Move Bluetooth remove service record handler to the app main threadMatthew Xie2011-08-291-12/+19
| | | | | | | | | | | | Move Bluetooth remove service record handler to the app main thread. This removes the dependency of caller thread that constructs the BluetoothAdapter singleton instance. The caller thread could stop while BluetoothAdapter singleton exists but lose the handler context. Make the BluetoothService.removeServiceRecord return quickly without blocking on native call. bug 4999443 Change-Id: I302534baa381f4aca8192e1e4a9ea21793b07ba6
* Make profile connection state API public.Jaikumar Ganesh2011-08-231-8/+9
| | | | Change-Id: I1f2810d4e820142435f7bbda051c98ec3e3cf3eb
* Add Api to get profile connection state.Jaikumar Ganesh2011-08-221-0/+25
| | | | | | | This gets the current connection state of the profile with respect to the local Bluetooth adapter. Change-Id: I7cff6c9201d29a8b45413cff7384b7483f21bd5c
* Enforce permission for changeApplicationState function.Jaikumar Ganesh2011-08-031-1/+4
| | | | | | | The ADMIN permission is for use cases where we want to manage BT connection at a deeper level. So just the Bluetooth permission is good enough here. Change-Id: Iddd038fe9f9a26f155b4edc9484ba1fe27b178ba
* Add ability to turn BT on / off on a per application basis.Jaikumar Ganesh2011-07-261-0/+63
| | | | | | | | | | This changes adds an API for system applications to enable bluetooth without all the side effects like auto connection to headsets etc. Also some tweaks to the adapter state machine Change-Id: Ib9f22d548a26d72334b300101c8eb0d80f08a4bb
* Implement APIs for Bluetooth Health profile.Jaikumar Ganesh2011-06-241-0/+3
| | | | | | | This first patch implements all the APIs. The APIs wil be made public soon. The data specification API will be submited in another patchset. Change-Id: I2462683b7e07380e2c42474b0036b34d03b4bed1
* am 5aaed097: am 58ada2f3: am 94062517: Merge "Require bonding and encryption ↵Jaikumar Ganesh2011-06-061-3/+63
|\ | | | | | | | | | | | | for PBAP server" * commit '5aaed0970be451479a07b2423e709026dec6611b': Require bonding and encryption for PBAP server
| * am 58ada2f3: am 94062517: Merge "Require bonding and encryption for PBAP server"Jaikumar Ganesh2011-06-061-3/+63
| |\ | | | | | | | | | | | | * commit '58ada2f3bbab749fb5a813fb8f82eee347080405': Require bonding and encryption for PBAP server
| | * Require bonding and encryption for PBAP serverMathias Jeppsson2011-05-171-3/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Phonebook Access Profile specification requires bonding and encryption. For devices not supporting SSP (Secure Simple Pairing), InsecureRfcomm will require neither. Adding EncryptedRfcomm to force bonding and encryption but not requiring authenticated link key. Change-Id: If47cca9c5ffd89358bcd61d64f7785d17e0ca7cc
| | * Do Not Merge: Expose insecure rfcomm Bluetooth API.Jaikumar Ganesh2011-01-141-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Bug: 3352266 Change-Id: I633fd0372e5e23288d6fec950dd1abc2896031f1
* | | Bluetooth: correcting return value from cancelDiscoveryAlbert Mojir2011-06-021-1/+1
|/ / | | | | | | | | | | | | BluetoothAdapter.cancelDiscovery was previously always returning false. Change-Id: Ic1fd134d4b710438d95c5b8ca009104529dd1bf5
* | Make BluetoothPan inherit from BluetoothProfile.Jaikumar Ganesh2011-02-231-0/+3
| | | | | | | | Change-Id: Ibd3e24e391be93ebe2cf975bd075efb68e10c1ff
* | Make BluetoothInputDevice inherit from BluetoothProfile.Jaikumar Ganesh2011-02-221-0/+3
| | | | | | | | | | | | This makes it in sync with BluetoothHeadset and BluetoothA2dp profiles. Change-Id: I3ddb1d18b04aacb173b7bc376bca21c277a6afe4
* | Fix BluetoothAdapter Connection change intent doc.Jaikumar Ganesh2011-02-011-4/+4
| | | | | | | | | | Bug: 3414206 Change-Id: Icf87e28e11b0b5072fe546225bbfb1dc68487ef0
* | docs: small javadoc, but also make the existing getProfileProxy docs ↵Scott Main2011-01-191-4/+5
| | | | | | | | | | | | visible... had wrong comment tag Change-Id: Ia4b2178057c0263ec8f835342815082de87b3af1
* | Expose insecure rfcomm Bluetooth API.Jaikumar Ganesh2010-12-231-1/+37
| | | | | | | | | | | | | | | | | | | | 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
* | Update BT code for voice capability cases.Jaikumar Ganesh2010-11-241-0/+15
| | | | | | | | | | | | | | 1. Disable PBAP and Headset / Handsfree records. 2. Add API to query for local adapter UUIDs. Change-Id: Ic84ba6a49738adc89a8695d3a4890f08562e0621
* | Add an API call to get the ConnectionState of the Bluetooth Adapter.Jaikumar Ganesh2010-10-261-0/+22
| | | | | | | | Change-Id: Icd87d7720189034946aaa98e1a6c5d03ef4219e5
* | resolved conflicts for merge of 738aadd7 to masterJake Hamby2010-09-301-4/+4
|\ \ | |/ | | | | Change-Id: I8810cc6dbd532de002d6a623ad93e86afb48c0b4
| * Typo fixes in comments and minor code cleanups.Jake Hamby2010-09-301-4/+4
| | | | | | | | | | | | | | | | | | * 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
* | New public APIs for BluetoothA2dp and BluetoothHeadset profiles.Jaikumar Ganesh2010-09-281-0/+104
|/ | | | Change-Id: I1cc4b109542dfd62473cb95797c8c3d0d15725f4
* Fix Bluetooth Javadoc to clarify the maximum device name length.Jake Hamby2010-09-161-6/+6
| | | | | | | | The maximum length of a Bluetooth device name is 248 bytes using UTF-8 encoding. Updated the Javadoc to clarify that the length is limited by the number of UTF-8 bytes and not the number of characters. Change-Id: I135671f5ee6c5eb6372f3fbbc5fccb02de65e6c4
* Out Of Band API for Secure Simple Pairing.Jaikumar Ganesh2010-09-131-0/+33
| | | | Change-Id: I54ded27ab85d46eef3d2cca84f2394b1ffe88ced
* Update javadoc for the API and change return of getBondedDevices().Jaikumar Ganesh2010-08-091-1/+31
| | | | | | | | | | getBondedDevices() *might* work if called before the Bluetooth State intent is broadcasted. However, this can cause ANRs and problems. This API was updated to return null, if called before the intent is received. However, this might cause existing apps to crash. Return an empty set instead. Change-Id: Ibc484d3394aa0bbebd651221efde6a7015ce7110
* Check whether Bluetooth is enabled before making any API calls.Jaikumar Ganesh2010-08-091-0/+10
| | | | | | | | For example, Settings app makes calls to get Bonded Devices before Bluetooth is on. This leads to ANRs and will prevent autoconnection. Change-Id: I56748a9bd1d603b5782c17775c6b20b831bf6572
* Removing STOPSHIP logs.Jaikumar Ganesh2010-05-181-1/+1
| | | | | Bug: 2694602 Change-Id: Id56e1ddcf5ea76de32238cd6761f2caf053f1fa1
* am ed2a70d6: docs: add the Bluetooth developer guide, and make some ↵Scott Main2009-12-101-4/+19
|\ | | | | | | | | | | | | | | | | revisions to the BT javadocs Merge commit 'ed2a70d6495b3f1928e36ad2b00ee4d33b2c0379' into eclair-mr2 * commit 'ed2a70d6495b3f1928e36ad2b00ee4d33b2c0379': docs: add the Bluetooth developer guide,
| * docs: add the Bluetooth developer guide,Scott Main2009-12-091-4/+19
| | | | | | | | and make some revisions to the BT javadocs
* | am e1611399: am 6d95fc0a: docs for ESR: add docs to bluetooth explainin that ↵Scott Main2009-11-201-5/+16
|\ \ | |/ | | | | | | | | | | | | | | discovery should be cancelled before connecting to a device Merge commit 'e16113998bb10f39ee1384bfc497aceeeb193440' into eclair-mr2 * commit 'e16113998bb10f39ee1384bfc497aceeeb193440': docs for ESR: add docs to bluetooth explainin that discovery should
| * am 6d95fc0a: docs for ESR: add docs to bluetooth explainin that discovery ↵Scott Main2009-11-201-5/+16
| |\ | | | | | | | | | | | | | | | | | | | | | | | | should be cancelled before connecting to a device Merge commit '6d95fc0a2ca910212a43c4547c0ef000659b72dc' into eclair * commit '6d95fc0a2ca910212a43c4547c0ef000659b72dc': docs for ESR: add docs to bluetooth explainin that discovery should
| | * docs for ESR: add docs to bluetooth explainin that discovery shouldScott Main2009-11-191-5/+16
| | | | | | | | | | | | | | | | | | be cancelled before connecting to a device bug: 2160782,2198463
* | | am 13ce56bd: am 88427cff: Merge change Ibcfb7d10 into eclair-sdkScott Main2009-11-101-5/+22
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit '13ce56bdbc4872c0b12caff501e063f5a75073db' into eclair-mr2 * commit '13ce56bdbc4872c0b12caff501e063f5a75073db': docs: add more documentation for the bluetooth apis.
| * | am 88427cff: Merge change Ibcfb7d10 into eclair-sdkScott Main2009-11-101-5/+22
| |\ \ | | |/ | | | | | | | | | | | | | | | Merge commit '88427cff609e668185010af2244500be5823595e' into eclair * commit '88427cff609e668185010af2244500be5823595e': docs: add more documentation for the bluetooth apis.
| | * docs: add more documentation for the bluetooth apis.Scott Main2009-11-091-5/+22
| | | | | | | | | | | | | | | | | | more descriptions for some of the classes and a new overview and pseudo-code example for using BT APIs in the package summary.
* | | am 8d51f710: Merge change Icdd2864e into eclairMichael Chan2009-11-061-4/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit '8d51f7101d2427953dbff9b4b8f8c9fdc0dc4a91' into eclair-mr2 * commit '8d51f7101d2427953dbff9b4b8f8c9fdc0dc4a91': b/2234854 Fixed Bluetooth API return codes for requesting permission to enable bluetooth
| * | b/2234854 Fixed Bluetooth API return codes for requesting permission to ↵Michael Chan2009-11-051-4/+6
| | | | | | | | | | | | enable bluetooth
* | | am 3cf254d2: Merge change I4b3db907 into eclairJaikumar Ganesh2009-10-301-19/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit '3cf254d2ba303da3354ed65fd7f3136e87a56b9f' into eclair-mr2 * commit '3cf254d2ba303da3354ed65fd7f3136e87a56b9f': Revert the channge where channels were not selected randomly.
| * | Revert the channge where channels were not selected randomly.Jaikumar Ganesh2009-10-301-19/+4
| |/ | | | | | | | | | | | | | | The Bluez SDP bug has been fixed. Reverting parts of the commit: 16fb88a673c41b93c5d57ccb28c2697e7d87701a Bug: 2173752 Dr No: Eastham
| * Remove STOPSHIP BT logging.Nick Pelly2009-10-091-1/+1
|/ | | | | | | | | Do not merge. Change-Id: I428bc0fc67030f24112f2e9c865824dfaea4897d DrNo: eastham Bug: 2089423 Joke: Why was Tigger looking in the toilet? To find Pooh
* BT API security audit: fix a couple of permission mistakes.Nick Pelly2009-10-091-0/+2
| | | | | | | | | | | | | | | 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.
* Introduce BluetoothAdapter.getDefaultAdapter().Nick Pelly2009-10-081-5/+33
| | | | | | | | | | | | | 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
* Encourage developers to connect RFCOMM by UUID instead of Channel.Nick Pelly2009-10-071-9/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Provide an API for apps to use a dynamic RFCOMM channel and SDP record.Nick Pelly2009-10-061-17/+141
| | | | | | | | | | | | | | | | | | | | | | Hide listenUsingRfcommOn(int channel) Add listenUsingRfcomm(String name, ParcelUuid uuid) The new API automatically finds a free RFCOMM channel and registers an SDP record with the given uuid and name. The SDP record is automatically removed when the socket is closed, or if the application dies. Apps are prevented from registering SDP records with the uuid of system Bluetooth profiles, such as A2DP, HFP and OPP. Apps are prevented from removing SDP records that they did not create. This is tracked by pid. TODO: Provide an API for the connecting app to look up an SDP record. Bug: 2158900 DrNo: eastham Joke: "What did the dog say to the tree? bark." Change-Id: Ia92f51c34615a7270a403255ad2b8faa98c4a3f5
* Move android.bluetooth.ParcelUuid to android.os.ParcelUuidNick Pelly2009-09-281-0/+1
| | | | Change-Id: I564429d5c5b6a5372b6ff26a53b0d7e518b53631
* Add an API to request a system activity to turn on Bluetooth.Nick Pelly2009-09-281-1/+21
| | | | Change-Id: I2fca33ad27017ea4e2ecba37854b749682d07672
* Handle expiration of discovery mode in system server.Nick Pelly2009-09-251-6/+13
| | | | Change-Id: I58fd199b40ffdf8168a5489be8eedb5d25d56722
* Fix typo in Bluetooth docs.Brad Fitzpatrick2009-09-251-2/+2
|