History log of /packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6a5c11bb626571ec8049733743a5e65e7845a67d 11-Jul-2017 Marie Janssen <jamuraa@google.com> A2DP: Only unregister receiver if we registered

If A2DP isn't ever started, A2dpService.cleanup() would try to unregister
when we are not registered.

Bug: 63061079
Test: none
Change-Id: I7229625f19c07dddeb58d7ee0787c83f0164e3e8
(cherry picked from commit 03352f57934dfae89c7696455f2f6f79d4d8ad22)
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
20155af8008337cb70ea0556472854abf46ca1eb 27-Apr-2017 Antony Sargent <asargent@google.com> Add persistent state for Bluetooth high quality audio support

This CL implements the storage/retrieval of flags for whether Bluetooth
A2DP sink devices support optional codecs and if they should be turned
on when that device is connected. It also contains code to listen for
device connections and do two things: (1) save whether that device
supports optional codecs, and (2) either enable or disable those codecs
for playback if we had a stored preference for the device.

Bug=37441685
Test: manually

Change-Id: I5f3113342d53aeeb9ede68602da8c7ff8c853457
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
0e1abf2276c4bc7e940624da89113b23e526be7a 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: I3f0dfc2e965e89647c03d032089dcccbd5fb8ffc
(cherry picked from commit 7aec8406176f8cef0b608c22b6e631df71ccd363)
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
08d3925d3d72837e6f86c9e0beaed5f7b813ea37 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: I18536cffc5c73abc31c3d6afa54f9d3c3b1d577e
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
86c29fe88456bdcfbd4334647b04ef81ff384a06 22-Dec-2016 Sanket Agarwal <sanketa@google.com> Separate Phone Policy from mechanism

Create a new policy file which interacts using either public APIs (such
as Intents) or uses equivalent functions which are exposed by the
binder. This is an attempt to be able to separate policy such that
different devices can have different policies.

Bug: b/33079907
Test: JUnit tests
Change-Id: I6c5a7ee9eb4e10f5f649794546acde5ec4b297aa
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
33b6b7d2b08dcd7ced1809e2ac653c5e8c2514af 21-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Add a mechanism for configuring the A2DP Source codecs

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

* If the current codec config is changed such that the audio feeding
parameters have changed, then inform the Audio Manager so it can
reset accordingly the audio feeding parameters in the Audio HAL to
the Bluetooth stack.

Also, fix the BT_BOND_STATE_* values (unused) in the
AbstractionLayer.java class so they match the corresponding
BT_BOND_STATE_* values in
hardware/libhardware/include/hardware/bluetooth.h

Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: Ic3e35154d9dbc32b66522322cd5d2a96bc5a977c
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
eb7b90f5b93db1230a5b64caa3d8d05a642e33a6 10-May-2016 Marie Janssen <jamuraa@google.com> Cleanup unused requires in java files

Change-Id: I7b055c1d3d3f6a69e9f49c077853ab45fcad7106
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
ff495eca3027c9b3aa7d8ef4e9cfd2cde3bbb664 30-Mar-2016 Pavlin Radoslavov <pavlin@google.com> Add a missing null check inside A2dpService.resetAvrcpBlacklist()

Add a missing null pointer check inside method
A2dpService.resetAvrcpBlacklist()

Also:
- Removed BondStateMachine.setProfilePriority() because it is
not used.
- Fix a typo "priorty" -> "priority"
- Fix a log message.

Bug: 27837879
Change-Id: Ieabf00d2ff1e49aa06598674f14e97eb9086d432
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
11798b011c962b602217b479130d413f3b30f19a 18-Dec-2015 Liejun Tao <baibai@motorola.com> Enhance AVRCP Absolute Volume control implementation

1. Remember the current local volume level, current remote volume level.
When user adjusts the volume, compare the returned remote volume
level with desired volume level, if they don't match, do retry.

2.Learn and remember the volume mapping between phone volume level and
remote volume level as the user adjusts volume. When user adjusts to one
remembered volume level, use the mapping directly. Otherwise calculate
the remote volume level and try with method described in step one.

3. Blacklist device if remote device does not tell its initial volume.

4. Define optional threshold for initial volume level to avoid headset
being too loud upon re-connection.

Signed-off-by: Liejun Tao <baibai@motorola.com>
Change-Id: I78112f5f401666f5a680561473a5c7f914071fbe
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
e316dfc9b3f648ad3d7b2691927758ea885043c0 17-Sep-2013 Anubhav Gupta <anubhavg@codeaurora.org> Check for A2dp SNK UUID supported by remote

Check for A2dp sNK UUID supported by remote before proceeding
with A2dp SNK connection when DUT acts as A2dp SRC.
This change addresses the issue where Host being A2dp SRC is
seen trying connecting to other A2dp SRC repeatedly.
This will ensure that DUT being A2dp SRC does not try to connect
to A2dp SRC only peers.

Change-Id: I0200582a69b3d4e9b7f92516ba92f34054a1f4dc

(cherry picked from commit 5b7325d795331a249a70fdfd20a9f29bed388f1d)
(cherry picked from commit 27f0077dde25b69442aff316e5c60d32f2275a65)
(cherry picked from commit c5b6b44414be53bbb75e064412a7d2d49ffe871f)
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
838949d46a4cc054985a8cfd682004f8dd6d3bbb 28-Oct-2014 Mike Lockwood <lockwood@google.com> Add dumpsys support for bluetooth

Bug: 18159457
Change-Id: I807a7d921b6e5baf111d0f0e3e182c6633a93b7c
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
2609a11670563837625f7dde2192deaba7417e46 24-Jul-2014 Andre Eisenbach <eisenbach@google.com> Fix A2dp crash when re-starting Bluetooth services

When the Bluetooth process has died, the services will be restarted to
recover from a crash. This could cause an exception in the A2dp service
because the service maybe stopped without having successfully been
started before. Added null-check to prevent an exception during the
restart.

Bug: 16529242
Change-Id: I57c99ec72c0ba09c6c5325b262e83618aacb3e39
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
689fb16c3dcca9a8d09a8572586a654b1ad38d7d 26-Jun-2014 Matthew Xie <mattx@google.com> am 83faa1c2: am e5c2a9d1: Merge "Add null pointer check in A2DPService"

* commit '83faa1c29215f8fcf69e2444f54d24ddaf6e2da5':
Add null pointer check in A2DPService
e5c2a9d12a29baa007e17dfe62f13b28a3aea637 26-Jun-2014 Matthew Xie <mattx@google.com> Merge "Add null pointer check in A2DPService"
066ad9e16a548218b139424f758b92db7af34af2 06-Jun-2014 Mike Lockwood <lockwood@google.com> Move AVRCP Controller support to new BluetoothAvrcpController profile

Change-Id: I865f77c85d971bf06dbc0643722abad7f6b94ab9
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
5c86abdc7875a8fae28c57e3e36a0a8eaae5cb04 07-Feb-2014 Hemant Gupta <hemantg@codeaurora.org> [4/4] Add Support for AVRCP Controller Feature

- Provide support for AVRCP Controller CAT 1 and CAT 2
Passthrough commands.
- Fix bug in usage of percent volume change in absolute
volume case.

Change-Id: Ie753329a96c30343d92c421c5e0113ff3e624db6
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
d3195daf68329036df6a01331b466844b5cb29de 08-Jan-2014 Zhihai Xu <zhihaixu@google.com> DO NOT MERGE update play status based on A2dp audio state from stack.

this is to work around the problem:some video/audio player didn't
update the play status by calling setPlaybackState.
The headset(HBS730) register the play status update on the phone.
It will depend the play status reported from the phone to send
play or pause command.

bug:11325212
Change-Id: I7fde5960edd4a5b3474fa17456aacd5b4b432d4d
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
188f205b5f093850d4cc627917a21204be36c56a 08-Jan-2014 Zhihai Xu <zhihaixu@google.com> update play status based on A2dp audio state from stack.

this is to work around the problem:some video/audio player didn't
update the play status by calling setPlaybackState.
The headset(HBS730) register the play status update on the phone.
It will depend the play status reported from the phone to send
play or pause command.

bug:11325212
Change-Id: I7fde5960edd4a5b3474fa17456aacd5b4b432d4d
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
ff833ce646e50c3593a313cd6a0be53577e41112 10-Apr-2013 Thomas Lehaux <thomasx.lehaux@intel.com> Add null pointer check in A2DPService

A call to the stop() function in A2DPService.java
could cause a NullPointerException in certain events.
This patch adds a null pointer check before a
function call to avoid this issue.

Change-Id: I39b521592d9cc5b910c5ce232d0d8d03389a0391
Orig-Change-Id: I77ee8129c3d81230afc5b59b4cc29e690cbe547a
Author: Thomas Lehaux <thomasx.lehaux@intel.com>
Reviewed-on: http://android.intel.com:8080/102211
Reviewed-by: Poignet, Cedric <cedric.poignet@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Reviewed-by: Bondier, CedricX <cedricx.bondier@intel.com>
Reviewed-by: Boniface, XavierX <xavierx.boniface@intel.com>
Tested-by: Zurmely, PierreX <pierrex.zurmely@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 85837
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
17675906064bb72fdcca75baa56cdf8bb8968d01 19-Jul-2013 John Du <johnldu@google.com> Adding support for Absolute Volume

Change-Id: Ie2ccaad7aaf56a89fe44b168026df3d84b373c06

Conflicts:
jni/com_android_bluetooth_avrcp.cpp
src/com/android/bluetooth/a2dp/Avrcp.java
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
c1c259c0ace7195240f1443c805995bfe8692a72 14-Mar-2013 Zhihai Xu <zhihaixu@google.com> framework support for new Bluetooth profiles AVRCP 1.3:Metadata and play status

send track changed response if the metadata is changed.

issue 8383522

Change-Id: Ie55ed368d355484a6b83f4aa24c70aa33b72f799
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
ede67c26e7b2564ea35db6d9b3027a269c150e13 24-Oct-2012 Zhihai Xu <zhihaixu@google.com> License of files Bluetooth package is not updated to ASL2

bug 7385618

Change-Id: I338fd87083387706f3b5f410c9592219bb8a1acb
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
df9d0fe584874f8cafa6ecedb3c3c054c9e99cba 10-Oct-2012 Matthew Xie <mattx@google.com> Merge "Turn off dbg messages, be prepared for production build" into jb-mr1-dev
37510150ee738ccfa5913f7120e28f25ae7768df 09-Oct-2012 Zhihai Xu <zhihaixu@google.com> Bluetooth multi-user updates: change bluetooth service
to reject background user access.

bug 6925422

Change-Id: I11d5ebf007c2843a72a9870055fc96672daf8409
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
fd1da115cbf09b7dd9bca3c7d3a4fb816a835dc5 08-Oct-2012 Matthew Xie <mattx@google.com> Turn off dbg messages, be prepared for production build

bug 7174712

Change-Id: I58747ec6507da8ea8ae27a182b601aaf626ede42
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
c7ead6d5827f3832b9210e92fab7597142059852 01-Oct-2012 Jeff Sharkey <jsharkey@android.com> Move bluetooth priorities from Secure to Global.

Bug: 7231171
Change-Id: I39e3611dcec1104558704ed72855fef85f33c084
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
6893668d1ccf0cc6361ef31ace52fedc2e37e35a 15-Sep-2012 Wink Saville <wink@google.com> Add StateMachine make methods.

StateMachines must be started before any messages are sent to them
otherwise an exception is thrown.

Bug: 7091976
Change-Id: I05315d45d4d6db42843442b7feb37c665cfabcab
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
73d192095093759688cccc896714f71fcee218d8 08-Aug-2012 Matthew Xie <mattx@google.com> Merge "Fix for BT turn on/off issues: NPE, FD/thread leaks, ANR." into jb-mr1-dev
15d36984a79d6e35c659edb0efdf929f0b526bd5 01-Aug-2012 Fred <fredc@broadcom.com> Fix for BT turn on/off issues: NPE, FD/thread leaks, ANR.

This fix addresses numerous BT on/off issues found from the CTS test.
Fixed fD/pipe leak in various state machine Looper objects by calling quit() function.
Fixed cursor leak in AtPhonebook.
Change Pbap to stop the RFCOMM listener on the STATE_TURNING_OFF instead of STATE_OFF.
Removed several cleanup() methods causing NPE.
Reduced RFCOMM listener timeout from 3 seconds to 300ms between retry.
bug 6834336

Change-Id: I52423343d8f52f65294af0143f373871a9874d77
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
4f5430babbc5a8f870e5a578a4ea3452f41dd97a 01-Aug-2012 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Implement Profile Auto connection logic

Implement Profile Auto connection logic (moved from Settings App )in Bluetooth APK
to avoid Auto connection not happening if the Settings App is not running
As part of this implementation following features are implemented
1. Auto connection initiation during BT on OFF
2. Profile Auto connection priority management
3. Connecting Missing profile logic
4. Initialize Profile Priorities on Bond State Change

Change-Id: I12b7c190e28f043b4b008c9b48ac7e13aaf178e6
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
4603dc081506452854023a1c6eacdfca468e0dc4 12-Jun-2012 Matthew Xie <mattx@google.com> comment out state machine quit call

Change-Id: I0d4f72d50cd981a3c334583948dc0563f0662662
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
74ae04c73312403e89db0f8e9bd9601d403b4783 07-May-2012 fredc <fredc@broadcom.com> Fixed memory leak in Binder objects from repeatedly turning on/off Bluetooth

Change-Id: Ibee5382816d47b1e9b846461942a9daccc4210a7
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
b5cc776c9353a203cdde97e62b25f05d9633d14c 19-Apr-2012 fredc <fredc@broadcom.com> Fixed BT on/off issue

Change-Id: I47cbac9fc694d5604a664f20170eeed90eeee8e6

Conflicts:

jni/com_android_bluetooth_btservice_AdapterService.cpp
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
3fafe61ef25c1899fdc817c52163aec16c31055c 19-Apr-2012 Ravi Nagarajan <nravi@broadcom.com> Memory profiling changes : Updated the Bluetooth code to handle cleaning up of object references (context, handlers, and collection objects ) during service cleanup.Memory profiling changes : Updated the Bluetooth code to handle cleaning up of object references (context, handlers, and collection objects ) during service cleanup.

Change-Id: I2b0235f71c1feaf32215b2aaf89a2e06d8fa7d73
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
6654f5c903de510a70f9e72cd5ad7837b615d93f 12-Apr-2012 fredc <fredc@broadcom.com> Non persistent adapter service

Change-Id: I65e1c18e2899cea0a1e5c0102c4d24d39dce0249

Conflicts:

jni/com_android_bluetooth_hdp.cpp
jni/com_android_bluetooth_hid.cpp

Conflicts:

jni/com_android_bluetooth_hid.cpp
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java
6c91bc0a163cc7600c40d7fb979777fd911d1ef1 17-Feb-2012 Matthew Xie <mattx@google.com> Initial implementation of HFP and A2DP profile/service/statemachine.

Change-Id: Ic6e6d358b94313f237b7be61b70dcc6f4f7902e7
/packages/apps/Bluetooth/src/com/android/bluetooth/a2dp/A2dpService.java