diff options
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", |