summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-01-15 22:34:37 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-01-15 22:34:37 +0000
commit4e3076b1a219fe567b8451da11affe45e0f5fdc0 (patch)
tree98c0a515fadc7143fe0bd0126836207d313ebf50
parent571afb3b78e6756f5db9cf7417fe50110593908a (diff)
parent620fab24aefc8fad91473858fe34435b084f9d2d (diff)
downloadbase-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.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 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);