History log of /frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f5772c6121ee1f5f2aa06711e2762c0f07fb61cc 27-Apr-2017 Antony Sargent <asargent@google.com> Add persistent state for Bluetooth high quality audio support

Defines the flags used in code and the Settings.Global key names for
persisting the following state for Bluetooth A2DP Sink devices:
-Whether the device supports optional codecs or not
-Whether optional codecs should be turned on for the device

For each of these two properties we model the state in the code as
yes/no/unknown, so that we can tailor the UI and behavior
accordingly.

Bug=37441685
Test: manually

Change-Id: I6bcd02fd7c95bef989575f3b13d4788dab61971a
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
910e081216ac530432ac9d0aab10d5e5e4c73ab8 22-Apr-2017 Jeff Sharkey <jsharkey@android.com> More auto-doc work.

Add support for AnyThread, CallSuper, and UiThread.

Another related CL started documenting @RequiresPermission, so remove
duplicated information in existing APIs.

Suppress auto-doc on a handful of classes that are already
well-documented.

Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I791437dccec0f11d5349a23b982ba098cb551af8
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
011597b5a933e8291d0bca9c3f3b17b9e816d654 24-Feb-2017 Pavlin Radoslavov <pavlin@google.com> 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
(cherry picked from commit 61075105ca95a2389c23733bf72b5d49b0da4b28)
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
45250aca6d55988a58fdcb4ba0e8a58d36b1f34b 31-Jan-2017 Pavlin Radoslavov <pavlin@google.com> Merge "Update the A2DP Codec Config API" am: ccd60f7cbe am: f0096fb868 am: 91707989c4
am: 1ef3c9888e

Change-Id: If69bfe9839a35dc141d741695a217fa4805d46cc
b37f181c9853bd0d55d360db95d3bf1bba0b5a6f 26-Jan-2017 Pavlin Radoslavov <pavlin@google.com> Update the A2DP Codec Config API

Previously, the JNI upcall would contain only the current codec config.
In the new API, the upcall contains:
1. The current codec config
2. The list of codecs containing the local codecs capabilities
3. The list of codecs containing the selectable codecs capabilities.
This list is the intersection of the local codecs capabilities
and the capabilities of the paired device.

Also, refactored the Java internals to accomodate the extra information:
* Added new class BluetoothCodecStatus that contains the extra info:
current codec config, local codecs capabilities and selectable
codecs capabilities
* Renamed method getCodecConfig() to getCodecStatus() and return the
corresponding BluetoothCodecStatus object.
* Updates to class BluetoothCodecConfig:
new methods isValid(), getCodecName(), and updated toString()
so it is more user friendly
* Removed BluetoothCodecConfig.EXTRA_CODEC_CONFIG and
EXTRA_PREVIOUS_CODEC_CONFIG.
The former is superseded by BluetoothCodecStatus.EXTRA_CODEC_STATUS;
the latter is not really used.

Test: A2DP streaming with headsets and switching the codecs
Change-Id: Ia1af2c22e521e863e28a360610aca49f7e62d31b
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
858ab9907152b2391063f11706e22d9308cb0454 04-Jan-2017 Pavlin Radoslavov <pavlin@google.com> Merge "Add a mechanism for configuring the A2DP Source codecs" am: 63270f2b96 am: 8b46f87e7e am: da3de76bdb
am: 62c5226e9c

Change-Id: I14d4cc2dc91cb1ab431eda32d5066ac8f471c3a6
44a4ef0aa93ebb2912f36d65af42ffbb1bcdbc0f 21-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Add a mechanism for configuring the A2DP Source codecs

* Added a new class BluetoothCodecConfig that contains codec-related
configuration or capabilities: codec type, priority, sample rate,
bits per sample, channel mode, and codec specific fields.

* Extended the Bluetooth A2DP AIDL interface to get/set the current
codec configuration

* Added new call handleBluetoothA2dpDeviceConfigChange() to the Media
Framework that is called when there are changes in the
Bluetooth A2DP device configuration - e.g., the A2DP codec is changed.

Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: I9a82716cbc2a5efbe77352a031ac80c88f6a2459
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
0a17db1cc5942ea000ca87bb72853de57a15ec64 04-Nov-2016 Jeff Sharkey <jsharkey@android.com> Detect non-oneway calls leaving system_server.

To protect system stability, any Binder calls leaving the
system_server must carefully be performed using FLAG_ONEWAY (or
the 'oneway' verb in AIDL) which prevents the call from blocking
indefinitely on the remote process.

In this CL, the system_server uses the new Binder.setWarnOnBlocking()
method to enable detection by default for all remote Binder
interfaces. It can also use Binder.allowBlocking() to allow
blocking calls on certain remote interfaces that have been
determined to be safe.

This CL adds the 'oneway' verb to several interfaces and methods
where it should have been added, and marks a handful of system
ContentProviders as being safe to call into. Also, we assume that
any services obtained from ServiceManager are part of the core
OS, and are okay to make blocking calls to.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: Ide476e120cb40436a94b7faf7615c943d691f4c0
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
d7d16b9f372116da1658f589df213aed33c2ded6 21-Jun-2016 Calvin On <con@google.com> Guard concurrent accesses to BluetoothA2dp service object

This fixes potential NPEs that happen on methods that access
mService after checking nullness, i.e. getConnectedDevices.

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

Change-Id: I5bc86f8ec6ea5c873f1e14dab0e0c47c5c9df7f7
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
4197cb60bc74629fe4c04ab10cb3b1c9a7427d24 22-Jan-2015 RoboErik <epastern@google.com> Move mute/unmute handling to adjust volume paths

This deprecates the setStreamMute and setStreamSolo APIs. Soloing is no
longer supported and muting is redirected through the adjust volume APIs.

Also updates the hidden master versions of these APIs.

Change-Id: I65d2a5d5fc15b386bd497abf8ca6869fec75a26a
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
2d2d8c28545c687dbb105006ef4554eac8480313 06-Aug-2013 Mathias Jeppsson <mathias.jeppsson@sonymobile.com> Dont call close in in BluetoothA2dp finalize

The close in finalize() is pointless, as finalize() will only be called
if there are no references to BluetoothA2dp. Until close() is called,
BluetoothManagerService will have a reference to BluetoothA2dp,
preventing garbage collection and finalize() to be called. This means
finalize() is not serving its purpose of cleaning up in cases close()
is not called, as finalize() is only called if close() has already
been called.

Actually calling close in finalize here means unregistering the already
unregistered mBluetoothStateChangeCallback which can lead to crashes
when pairing/unpairing BTH. A typical crash would look like:

*** FATAL EXCEPTION IN SYSTEM PROCESS: BluetoothManager
java.lang.NullPointerException
at android.os.RemoteCallbackList.unregister(RemoteCallbackList.java:143)
at com.android.server.BluetoothManagerService$BluetoothHandler.handleMessage(BluetoothManagerService.java:780)
at android.os.Handler.dispatchMessage(Handler.java:99)

Change-Id: Ib65962917ecbacf7900d7fe540057e6915f0532d
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
94b59de852df7b6ce16aef73a9b2c11be8f3102d 03-Jun-2014 Mike Lockwood <lockwood@google.com> BluetoothAvrcpController: Move AVRCP controller support to new BluetoothProfile subclass

Change-Id: Id988040a7ce623ed68e0349920301ff48db1fbce
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
3b76a4b2b62e9539e2629dc569d7e9a934e65dfb 14-Feb-2014 Hemant Gupta <hemantg@codeaurora.org> Add Support for AVRCP Controller Feature

- Provide support for AVRCP Controller CAT 1 and CAT 2
passthrough commands.

Change-Id: Iefbb7fcd6273c49dc8a305b7a25ec6e94c60a5a9
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
466ce96da8ca7ea8c97e716b02a7d55007179aa1 20-Mar-2014 Dianne Hackborn <hackbod@google.com> Get rid of not specifying a user errors in bluetooth.

W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothInputDevice.doBind:262 android.bluetooth.BluetoothInputDevice.<init>:255 android.bluetooth.BluetoothAdapter.getProfileProxy:1365
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothPan.doBind:148 android.bluetooth.BluetoothPan.<init>:140 android.bluetooth.BluetoothAdapter.getProfileProxy:1368
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothMap.doBind:108 android.bluetooth.BluetoothMap.<init>:101 android.bluetooth.BluetoothAdapter.getProfileProxy:1374
W/ContextImpl( 1772): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1559 android.content.ContextWrapper.bindService:513 android.bluetooth.BluetoothPbap.doBind:163 android.bluetooth.BluetoothPbap.<init>:156 com.android.settings.bluetooth.PbapServerProfile.<init>:68

Change-Id: I0a1e24ee71aef7d796fcee5692b9d19462a93637
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
9b6939939901cb82bc6fca93aad3810a4936dfc6 10-Oct-2013 Matthew Xie <mattx@google.com> Check callback null condition for register/unregsiter state change callback

Fix BluetoothPan closing sequence for unregsiter state change callback
bug 11160007

Change-Id: I405ec91a938289fe9541de2ebd9abc1fb938f44a
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
5a0cf7a27f3953a1266af48543ccd9024f4cd89f 19-Jul-2013 John Du <johnldu@google.com> Adding support for Absolute Volume

Change-Id: I7bbc6f9296221ca219a50a5e377ebac9dcf5a407
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
221ea892dcc661bd07d6f36ff012edca2c48aed4 05-Aug-2013 Dianne Hackborn <hackbod@google.com> Start restricting service calls with implicit intents.

The bindService() and startService() calls have always had
undefined behavior when used with an implicit Intent and there
are multiple matching services. Because of this, it is not
safe for applications to use such Intents when interacting with
services, yet the platform would merrily go about doing... something.

In KLP I want to cause this case to be invalid, resulting in
an exception thrown back to the app. Unfortunately there are
lots of (scary) things relying on this behavior, so we can't
immediately turn it into an exception, even one qualified by the
caller's target SDK version.

In this change, we start loggin a WTF when such a call happens,
and clean up some stuff in Bluetooth that was doing this behavior.

Change-Id: I62e25d07890588d2362104e20b054aebb6c0e007
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.java
563e414784eb81e4ea4051667d5c8855b17f7534 10-Oct-2012 Matthew Xie <mattx@google.com> Reduce android.bluetooth package debug messages

bug 7174712

Change-Id: I8d3fdc8edbe42068b5a550660d7b24854c3c4af4
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
6f6c54519a9b15379bb79e195655b6bd4fc5967a 01-Aug-2012 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Auto connection/disconnection related changes

Remove ACTION_CONNECT_OTHER_PROFILES as it is no longer used
Allow only PRIORITY_ON and PRIORTY_OFF as priority params for SetPriority()
API in BluetoothA2DP and BluetoothHeadset
BluetoothPBAP: Pass on proxy object as part of Service Connected callback

Change-Id: Ida00fc2b7d1dcb91b01f7ddd2cea482367a3b334
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
82e57fe1741e225a65bc69004ae12cbbdfae5737 29-Jun-2012 Ravi Nagarajan <nravi@broadcom.com> Reset priority on unbond

Change-Id: I8232c666bde26235ad527c96e5218fc1b3e7a1db
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
20738945d482d9e313cd8b48c1bd83b6278934c7 27-Apr-2012 Swaminatha Balaji <swbalaji@broadcom.com> Auto connect hf/a2dp

Change-Id: I7c1fb4e2614f65e6810f195814dcf0cad88aee21
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.java
3e8c82edb1feafc796aa52efafedc13f794c4dcd 17-Feb-2012 Matthew Xie <mattx@google.com> Framework changes for HFP and A2DP profile implementation of the new stack.
Add IBluetoothHeadsetPhone.aidl for a small service in Phone to get
phone state changes

Change-Id: I1015e4a69720c4e9cd18ae4236ccd0dbff2e1b2c
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
313a2167098ce8498db3a50d70724f260e8169c0 18-Jan-2012 Jaikumar Ganesh <jaikumar@google.com> Delete various Bluetooth files for stack integration.
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
9bb275197df8eb999eab4cdd0a2aff83c2bb2ef6 28-Nov-2011 Jaikumar Ganesh <jaikumar@google.com> Cleanup references when turning BT off.

Bug: 5572649
Change-Id: I62f9e0620832b69995d5c6e1c24634c9a3895a4b
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.java
f8789167e903b637b1dbe8f710e7c66c4cfd74fd 26-May-2011 Jaikumar Ganesh <jaikumar@google.com> Refactor Bluetooth Profile.

Move connect / disconnect / set and get priority
functions down the interface as they are not generic enough
for all profiles.

Change-Id: I2656e1bdbc8046c53bb0dfbd9172f5f10b57aa7d
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
0706fed52075f7f2b25101a40287519ac18d3184 26-Jan-2011 Jaikumar Ganesh <jaikumar@google.com> Fix some unmatched javadoc tags.

Bug: 3392175
Change-Id: I84aa86c07060bc4ba399fd5c8f7cda162b432031
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.java
03cd78cf5e51c3adb78d2e3d314838dcf3e36b26 19-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Convert return type of APIs from Set to List.

Most of the time it will either be empty or have 1 device.
Using list makes it much a better API and since its supported
by the AIDL format, the code becomes much nicer.

Change-Id: I5a2508b33ba754fc8cc738409d658e1235aaf2cf
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
41d5c805d96aef0aaa9a2aaa86ccc4b77ca75e11 14-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Add function to check for AVRCP target to send volume keys.

Currently, when A2DP is connected and the user changes volume
keys on the device, we just change the volume on the device.
We are not supposed to do that. The white paper recommendation
is to keep the volume stream at max and just send the volume
keys over. But then not all A2DP headsets act as AVRCP targets,
hence check for that.

So now the media code should use the API and not change the volume
at the device but just send the keys.

Bug: 3071356
Change-Id: I03a8b6f7619cf860c4e63979bf4903ded9ecd314
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
62c37efc9e894809b29a004c142a8e0a6b374db7 25-Aug-2010 Jaikumar Ganesh <jaikumar@google.com> New public APIs for BluetoothA2dp and BluetoothHeadset profiles.

Change-Id: I1cc4b109542dfd62473cb95797c8c3d0d15725f4
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
551ed72940af6e4f0b34a1d05282497a547e9a7c 11-Dec-2009 Jaikumar Ganesh <jaikumar@google.com> Use UNDEFINED priorities when unpaired.

For the docks, we can set if a device is preferred or not
before pairing process. This was getting overridden when we pair.
This problem doesn't happen with normal headsets.

Dr No: Eastham
Bug: 2318290
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
b16c4f7dd92dabf0cc27438a5d3d9ebd203a38b3 05-Dec-2009 Jaikumar Ganesh <jaikumar@google.com> Add API to get Active Sinks.

Allow incoming connections only when there are no active sinks.

Dr No: Eastham
Bug: 2133530
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
721361f1a74b876c42cc0533c9c19320e8c09927 21-Nov-2009 Jaikumar Ganesh <jaikumar@google.com> Add a new priority for Auto Connection of A2DP. DO NOT MERGE.

1. PRIORITY_OFF is when user unchecks A2DP connection profile box.
2. By default, when you bond, it will be PRIORITY_ON.
3. When the profile gets connected, the priority gets set to
PRIORITY_AUTO_CONNECT. This means that we will connect
automatically to this profile.
4. When the user disconnects, we downgrade the priority to PRIORITY_ON,
which means we won't reconnect automatically.

a) We need to make a similar change to Handsfree profile.
b) We need to rework the profile management design and code which
will fix the 6 second timer that we have for A2DP reconnection.

Add AUTO_CONNECT priority for Headset profile.
Also, don't set priority to ON while disconnecting.
This logic has been pushed up to the Settings app.

Dr No: Eastham
Bug: 2133530
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
081f58abb7ceb702fdb0b65ff0e0ff70dd265a30 01-Oct-2009 Michael Chan <mchan@android.com> b/2148252 Fix emulator

Change-Id: Ic2a16d4fac2a2a12a209c83ad2049829255cb31f
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
e766eae93890b09db67d2c6a599c25fdae103f20 30-Sep-2009 Nick Pelly <npelly@google.com> Fix broken build.

Should be bool not int. Forgot to roll in local changes to last commit.

Change-Id: I28bad88238e5b715a5033b0d5a897d924ef8b538
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
f9bbe1e71a502fe7bd1f4a23ba5bbe4dde0d9d57 24-Jun-2009 Zhu Lan <mtcb47@motorola.com> Bluetooth A2DP suspend/resume functionality

Change-Id: I8366852fa9b6ff9dacf18db00ea1c2be0c00ff34
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.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/BluetoothA2dp.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/BluetoothA2dp.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/BluetoothA2dp.java
f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2 06-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136745
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.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/BluetoothA2dp.java
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/base/core/java/android/bluetooth/BluetoothA2dp.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/BluetoothA2dp.java