Merge "BluetoothManagerService: continue teardown when BLE apps registered"

am: ba0992f4c4

Change-Id: Iac58de264ca48184d2ddd0cf4aeb9a3d5719539c
This commit is contained in:
Andre Eisenbach
2017-03-07 00:37:31 +00:00
committed by android-build-merger

View File

@@ -641,6 +641,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
if (appCount == 0 && mEnable) { if (appCount == 0 && mEnable) {
disableBleScanMode(); disableBleScanMode();
} }
if (appCount == 0 && !mEnableExternal) {
sendBrEdrDownCallback();
}
return appCount; return appCount;
} }
@@ -696,7 +699,14 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
return; return;
} }
if (isBleAppPresent() == false) { if (isBleAppPresent()) {
// Need to stay at BLE ON. Disconnect all Gatt connections
try {
mBluetoothGatt.unregAll();
} catch (RemoteException e) {
Slog.e(TAG, "Unable to disconnect all apps.", e);
}
} else {
try { try {
mBluetoothLock.readLock().lock(); mBluetoothLock.readLock().lock();
if (mBluetooth != null) mBluetooth.onBrEdrDown(); if (mBluetooth != null) mBluetooth.onBrEdrDown();
@@ -705,14 +715,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
} finally { } finally {
mBluetoothLock.readLock().unlock(); mBluetoothLock.readLock().unlock();
} }
} else {
// Need to stay at BLE ON. Disconnect all Gatt connections
try {
mBluetoothGatt.unregAll();
} catch (RemoteException e) {
Slog.e(TAG, "Unable to disconnect all apps.", e);
}
} }
} }
public boolean enableNoAutoConnect(String packageName) public boolean enableNoAutoConnect(String packageName)