From 373496657d71c481308604d50bce409741699608 Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Fri, 11 Dec 2020 17:39:35 -0800 Subject: [PATCH] Bluetooth: Check state correctly when client wants to bind Use mState instead of mEnable to check Bluetooth server status. mEnable is used to indicate whether the next action is enabling or disabling the Bluetooth stack, whereas mState indicates the current state. Test: atest FrameworksServicesTests Bug: 173941366 Change-Id: I335f1e33fe84a9dd7e9227dd55d54fcae7c0ec4b --- .../core/java/com/android/server/BluetoothManagerService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index 8c38b66dd44ed..9ce7cf27f9ff8 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -1236,7 +1236,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub { @Override public boolean bindBluetoothProfileService(int bluetoothProfile, IBluetoothProfileServiceConnection proxy) { - if (!mEnable) { + if (mState != BluetoothAdapter.STATE_ON) { if (DBG) { Slog.d(TAG, "Trying to bind to profile: " + bluetoothProfile + ", while Bluetooth was disabled"); @@ -1400,7 +1400,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub { mBluetoothLock.readLock().unlock(); } - if (!mEnable || state != BluetoothAdapter.STATE_ON) { + if (state != BluetoothAdapter.STATE_ON) { if (DBG) { Slog.d(TAG, "Unable to bindService while Bluetooth is disabled"); }