diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java index c653c734edf45..a7e397e9563ce 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java @@ -32,6 +32,7 @@ import android.app.Service; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; +import android.bluetooth.BluetoothProfile; import android.bluetooth.le.BluetoothLeScanner; import android.bluetooth.le.ScanCallback; import android.bluetooth.le.ScanFilter; @@ -84,6 +85,7 @@ public class DeviceDiscoveryService extends Service { static DeviceDiscoveryService sInstance; + private BluetoothManager mBluetoothManager; private BluetoothAdapter mBluetoothAdapter; private WifiManager mWifiManager; @Nullable private BluetoothLeScanner mBLEScanner; @@ -143,7 +145,8 @@ public class DeviceDiscoveryService extends Service { if (DEBUG) Log.i(LOG_TAG, "onCreate()"); - mBluetoothAdapter = getSystemService(BluetoothManager.class).getAdapter(); + mBluetoothManager = getSystemService(BluetoothManager.class); + mBluetoothAdapter = mBluetoothManager.getAdapter(); mBLEScanner = mBluetoothAdapter.getBluetoothLeScanner(); mWifiManager = getSystemService(WifiManager.class); @@ -188,6 +191,14 @@ public class DeviceDiscoveryService extends Service { for (BluetoothDevice dev : emptyIfNull(mBluetoothAdapter.getBondedDevices())) { onDeviceFound(DeviceFilterPair.findMatch(dev, mBluetoothFilters)); } + for (BluetoothDevice dev : emptyIfNull( + mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT))) { + onDeviceFound(DeviceFilterPair.findMatch(dev, mBluetoothFilters)); + } + for (BluetoothDevice dev : emptyIfNull( + mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT_SERVER))) { + onDeviceFound(DeviceFilterPair.findMatch(dev, mBluetoothFilters)); + } } if (shouldScan(mBluetoothFilters)) {