diff options
| author | 2018-08-20 12:25:22 -0700 | |
|---|---|---|
| committer | 2018-08-20 12:25:22 -0700 | |
| commit | c2cf771167ee109353867165997bf690bcc994ca (patch) | |
| tree | 8c1f33aa90b155540cd350957bbe79b5bec411ba | |
| parent | 5b258b512fada9c81541e7cd364b683e5b5701af (diff) | |
| parent | db76298a161fb730cdb126654ff542debd32ba7e (diff) | |
Merge "AdapterService: Only bind HeadsetService in ON state." am: 44bafe6837 am: 1c28737691
am: db76298a16
Change-Id: Ibda5e33c155e8c36a59b1030165404135f766c1f
| -rw-r--r-- | services/core/java/com/android/server/BluetoothManagerService.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index f81541e525b2..a07939e86325 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -1171,6 +1171,26 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } private boolean bindService() { + int state = BluetoothAdapter.STATE_OFF; + try { + mBluetoothLock.readLock().lock(); + if (mBluetooth != null) { + state = mBluetooth.getState(); + } + } catch (RemoteException e) { + Slog.e(TAG, "Unable to call getState", e); + return false; + } finally { + mBluetoothLock.readLock().unlock(); + } + + if (!mEnable || state != BluetoothAdapter.STATE_ON) { + if (DBG) { + Slog.d(TAG, "Unable to bindService while Bluetooth is disabled"); + } + return false; + } + if (mIntent != null && mService == null && doBind(mIntent, this, 0, UserHandle.CURRENT_OR_SELF)) { Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE); |