diff options
| author | fredc <fredc@broadcom.com> | 2012-04-24 03:59:57 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-07-16 21:24:32 -0700 |
| commit | f1f5dde555c09019c0cedb05e844adf288677bc5 (patch) | |
| tree | 93b57e8157845e1f6856c92e3c88d44bf1348daf /framework/java/android/bluetooth/BluetoothDevice.java | |
| parent | 797a7ba64e979ce8dff1f87f39521b6e1308e715 (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-x | framework/java/android/bluetooth/BluetoothDevice.java | 18 |
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", |
