diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-01-15 22:34:37 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-01-15 22:34:37 +0000 |
commit | 4e3076b1a219fe567b8451da11affe45e0f5fdc0 (patch) | |
tree | 98c0a515fadc7143fe0bd0126836207d313ebf50 | |
parent | 571afb3b78e6756f5db9cf7417fe50110593908a (diff) | |
parent | 620fab24aefc8fad91473858fe34435b084f9d2d (diff) | |
download | base-pie-b4s4-dev.tar.gz |
Merge "AdapterService: Only bind HeadsetService in ON state." into pi-devpie-b4s4-dev
-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 78b738500a97..49de4b157776 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -1174,6 +1174,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); |