diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java index 171c2f5b1a086..9faa1d675d8d9 100644 --- a/core/java/android/bluetooth/BluetoothA2dp.java +++ b/core/java/android/bluetooth/BluetoothA2dp.java @@ -224,8 +224,10 @@ public final class BluetoothA2dp implements BluetoothProfile { if (VDBG) Log.d(TAG, "Unbinding service..."); try { mServiceLock.writeLock().lock(); - mService = null; - mContext.unbindService(mConnection); + if (mService != null) { + mService = null; + mContext.unbindService(mConnection); + } } catch (Exception re) { Log.e(TAG, "", re); } finally { diff --git a/core/java/android/bluetooth/BluetoothHidHost.java b/core/java/android/bluetooth/BluetoothHidHost.java index 0ca39f169a721..289e769a99ef8 100644 --- a/core/java/android/bluetooth/BluetoothHidHost.java +++ b/core/java/android/bluetooth/BluetoothHidHost.java @@ -232,8 +232,10 @@ public final class BluetoothHidHost implements BluetoothProfile { if (VDBG) Log.d(TAG, "Unbinding service..."); synchronized (mConnection) { try { - mService = null; - mContext.unbindService(mConnection); + if (mService != null) { + mService = null; + mContext.unbindService(mConnection); + } } catch (Exception re) { Log.e(TAG, "", re); } diff --git a/core/java/android/bluetooth/BluetoothPbap.java b/core/java/android/bluetooth/BluetoothPbap.java index ae264e19bb7c2..b303c34ee0ae3 100644 --- a/core/java/android/bluetooth/BluetoothPbap.java +++ b/core/java/android/bluetooth/BluetoothPbap.java @@ -120,8 +120,10 @@ public class BluetoothPbap implements BluetoothProfile { log("Unbinding service..."); synchronized (mConnection) { try { - mService = null; - mContext.unbindService(mConnection); + if (mService != null) { + mService = null; + mContext.unbindService(mConnection); + } } catch (Exception re) { Log.e(TAG, "", re); }