History log of /frameworks/base/core/java/android/bluetooth/BluetoothHeadsetClient.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0146463d70355592da85c3605aaaef4cf0b7335e 17-Aug-2017 Jack He <siyuanh@google.com> Bluetooth: Thread-safe binder invocation

* Binder object may become null between null check and actual invocation
if using a instance private variable assignable by service connection
callbacks
* The solution to this problem without locking is to assign existing
binder variable to a local final variable before the null check
* Any further invocation to a disconnected binder object will result in
RemoteException that is caught by the try-catch block
* Read and write to volatile variable is always atomic and hence thread-safe
* Removed unnecessary synchronization in BluetoothAdapter constructor
* Private mConnection objects should be final
* Simplfied several return statements where booleans can be returned
directly
* Removed unnecessary catches for NPE since there won't be any

Bug: 64724692
Test: make, pair and use devices, no functional change
Change-Id: Ifc9d6337c0d451a01484b61243230725d5314f8e
(cherry picked from commit 16eeac356c68f3674677169b618774718ec982b2)
/frameworks/base/core/java/android/bluetooth/BluetoothHeadsetClient.java
039eeb81b5ceb5a7141ae852346e054348ac2a06 20-Jan-2017 Sanket Agarwal <sanketa@google.com> Change HFP Client API to support multi device

- Adds BluetoothDevice as a parameter where required
- Gets rid of device management APIs that can be done via
BluetoothProfiles instead

Test: Manual sanity tests
Bug: b/33554547
Bug: b/30984220
Change-Id: I3485ac5bfe1fcb29c774ad040fdd608e1cacb8df
/frameworks/base/core/java/android/bluetooth/BluetoothHeadsetClient.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/BluetoothHeadsetClient.java
40bb6f3f8fc02600fe24301c11e804196ced3531 28-Jun-2016 Sanket Agarwal <sanketa@google.com> Use UUIDs for call management in Headset Client (HF)

Using UUIDs that are managed by the service gives more control and error
handling in the service since it has control over assigning them.

Bug: b/29788044
Change-Id: I8483f8e61a33302ba95d544828947d7fb4a21be9
(cherry picked from commit dbeab2c6e12693fe9b06b6a680677da5325c9230)
/frameworks/base/core/java/android/bluetooth/BluetoothHeadsetClient.java
dc133826225ea61c71f4a2131956e48ed2b0611a 29-Oct-2015 Bryce Lee <brycelee@google.com> Add ability to set whether audio route is allowed in BluetoothHeadsetClient

Bug: 25332357
Change-Id: I942ac0dea3e4f8580c44e027a570d0b59822a257
/frameworks/base/core/java/android/bluetooth/BluetoothHeadsetClient.java
cf916d34671f0ab6aad8de24c18e4dc96fb21941 12-Jun-2014 Mike Lockwood <lockwood@google.com> Rename BluetoothHandsfreeClient to BluetoothHeadsetClient

This makes our terminology consistent with the existing BluetoothHeadset profile

Also updated arguments to Context.bindService()

Change-Id: I27cc5a6fde256b1f5dccca53a7a15ec8f58691c2
/frameworks/base/core/java/android/bluetooth/BluetoothHeadsetClient.java