aboutsummaryrefslogtreecommitdiff
path: root/framework/java/android/bluetooth/BluetoothDevice.java
diff options
context:
space:
mode:
authorfredc <fredc@broadcom.com>2012-04-24 03:59:57 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-07-16 21:24:32 -0700
commitf1f5dde555c09019c0cedb05e844adf288677bc5 (patch)
tree93b57e8157845e1f6856c92e3c88d44bf1348daf /framework/java/android/bluetooth/BluetoothDevice.java
parent797a7ba64e979ce8dff1f87f39521b6e1308e715 (diff)
Fixed issue with Settings app crashing after during on/off and unpair.
Fixed issue with BluetoothAdapter.getRemoteDevice() returning null. Change-Id: Ie86813532530a6b57bde1c430c7b4875ecc7354c
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothDevice.java')
-rwxr-xr-xframework/java/android/bluetooth/BluetoothDevice.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/framework/java/android/bluetooth/BluetoothDevice.java b/framework/java/android/bluetooth/BluetoothDevice.java
index 2f7204deea..25047632ce 100755
--- a/framework/java/android/bluetooth/BluetoothDevice.java
+++ b/framework/java/android/bluetooth/BluetoothDevice.java
@@ -485,12 +485,28 @@ public final class BluetoothDevice implements Parcelable {
synchronized (BluetoothDevice.class) {
if (sService == null) {
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
- sService = adapter.getBluetoothService();
+ sService = adapter.getBluetoothService(mStateChangeCallback);
}
}
return sService;
}
+ static IBluetoothManagerCallback mStateChangeCallback = new IBluetoothManagerCallback.Stub() {
+
+ public void onBluetoothServiceUp(IBluetooth bluetoothService)
+ throws RemoteException {
+ synchronized (BluetoothDevice.class) {
+ sService = bluetoothService;
+ }
+ }
+
+ public void onBluetoothServiceDown()
+ throws RemoteException {
+ synchronized (BluetoothDevice.class) {
+ sService = null;
+ }
+ }
+ };
/**
* Create a new BluetoothDevice
* Bluetooth MAC address must be upper case, such as "00:11:22:33:AA:BB",