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/BluetoothPan.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/BluetoothPan.java
|
1f8b844870eb9acb334b541b0b41de37e000d2f0 |
|
12-Dec-2013 |
Nitin Shivpure <nshivpur@codeaurora.org> |
Bluetooth: Fix to avoid framework reboot during monkey testing When running monkeyrunner, sometimes the framework is disconnected due to an unhandled Java exception while binding the PAN service (when it is unsuccessful). Handing the Java exception while binding PAN service solves this issue. Change-Id: Idea710593a3f9496305f636042605303e73e7749
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|
58fbffc36f71fbccbf510bfd17797760dc738133 |
|
15-Feb-2015 |
Hemant Gupta <hemantg@codeaurora.org> |
Bluetooth: Check for mPanService before changing tethering state Checking for mPanService before changing OR checking tethering state, otherwise it will lead to application crash while checking isTetheringOn OR changing tethering state. Change-Id: I00844c03cdb8616118c1d50d7d31c75e51f0ef9b
/frameworks/base/core/java/android/bluetooth/BluetoothPan.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/BluetoothPan.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/BluetoothPan.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/BluetoothPan.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/BluetoothPan.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/BluetoothPan.java
|
903ac6f399dcd4f574bf388daa7b5f5907d448d3 |
|
24-Apr-2012 |
fredc <fredc@broadcom.com> |
Fixed issue with Settings app crashing after during on/off and unpair. Fixed issue with BluetoothAdapter.getRemoteDevice() returning null. Change-Id: Ie86813532530a6b57bde1c430c7b4875ecc7354c
/frameworks/base/core/java/android/bluetooth/BluetoothPan.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/BluetoothPan.java
|
e4caddbb7a3b39fd6a1ccf107c7dbf09bc8978e8 |
|
26-Jan-2012 |
Jaikumar Ganesh <jaikumar@google.com> |
Changes for new Bluetooth APIs. Changes to Bluetooth Adapter, Device and IBluetooth interfaces for new Bluetooth APIs. Delete AudioGateway. Change-Id: Ib51b31187eafde261441b9311b5e7e13c8bff82f
/frameworks/base/core/java/android/bluetooth/BluetoothPan.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/BluetoothPan.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/BluetoothPan.java
|
74ef1199459629c5dd9f272f8cd706d82cdfeeb1 |
|
23-Feb-2011 |
Jaikumar Ganesh <jaikumar@google.com> |
Make BluetoothPan inherit from BluetoothProfile. Change-Id: Ibd3e24e391be93ebe2cf975bd075efb68e10c1ff
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|
fbe807d064ada99211b102914df514aa562256f8 |
|
19-Jan-2011 |
Jaikumar Ganesh <jaikumar@google.com> |
Make connection / disconnect failure more robust. Add error codes so that the states can be tracked better. Change-Id: Ic07a5d34589134b68dedeb4803ccb523aa01b567
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|
5200c8ab721b56025340306bdecca651e6bf2f12 |
|
14-Dec-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Add EXTRA_LOCAL_ROLE to Pan State change intent. This will help apps distinguish between reverse and normal tethering. Change-Id: I5327ad75dc2cbf478e4f7c2cd6ef1dbe8fba9e93
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|
5a1e4cf83f5be1b5d79e2643fa791aa269b6a4bc |
|
19-Oct-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Update BT APIs return type from Set to List. Change-Id: Ia27220dd26cde13007f6938c830517ee7f6968ce
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|
b70765cc27a174d1d4a0bab7062733ebd3eae354 |
|
02-Sep-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Decouple Tethering UI with registering of SDP records. This can lead to usability issues, since the SDP record will get registered later on. Change-Id: Ifda78a3831572f1b9955bf06da9a8b0e949942aa
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|
6fdd0c6274c81b337ad35b70480f881daf7354c3 |
|
11-Aug-2010 |
Danica Chang <danicachang@google.com> |
bluetooth tethering Change-Id: Id6d5fb1922facc7013abc29214d3e1141995b767
/frameworks/base/core/java/android/bluetooth/BluetoothPan.java
|