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/BluetoothMap.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/BluetoothMap.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/BluetoothMap.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/BluetoothMap.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/BluetoothMap.java
|
0d376053747615ac7c4b45ab7810329ffbdf80d1 |
|
22-Aug-2013 |
Kim Schulz <k.schulz@samsung.com> |
Fixed review comments - fixed review comments (internal+google) - corrected tabs/spaces - Add connection id header for obex client operations - added support for implementing ProfileService class Change-Id: Idab8b4fa54a0f31bec4ffa263a69a9850a07f858 Bug:10692365
/frameworks/base/core/java/android/bluetooth/BluetoothMap.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/BluetoothMap.java
|