summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author jonerlin <jonerlin@google.com> 2018-08-20 12:25:22 -0700
committer android-build-merger <android-build-merger@google.com> 2018-08-20 12:25:22 -0700
commitc2cf771167ee109353867165997bf690bcc994ca (patch)
tree8c1f33aa90b155540cd350957bbe79b5bec411ba
parent5b258b512fada9c81541e7cd364b683e5b5701af (diff)
parentdb76298a161fb730cdb126654ff542debd32ba7e (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.java20
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);