summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java29
1 files changed, 10 insertions, 19 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
index a0ebbfefcef1..65bbb6fc8821 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
@@ -197,12 +197,7 @@ public class CompanionDeviceDiscoveryService extends Service {
filter(allFilters, BluetoothLeDeviceFilter.class);
final List<WifiDeviceFilter> wifiFilters = filter(allFilters, WifiDeviceFilter.class);
- // No need to startDiscovery if the device is already bound or connected for
- // singleDevice dialog.
- if (checkBoundDevicesIfNeeded(request, btFilters)) {
- stopSelf();
- return;
- }
+ checkBoundDevicesIfNeeded(request, btFilters);
// If no filters are specified: look for everything.
final boolean forceStartScanningAll = isEmpty(allFilters);
@@ -262,37 +257,33 @@ public class CompanionDeviceDiscoveryService extends Service {
stopSelf();
}
- private boolean checkBoundDevicesIfNeeded(@NonNull AssociationRequest request,
+ private void checkBoundDevicesIfNeeded(@NonNull AssociationRequest request,
@NonNull List<BluetoothDeviceFilter> btFilters) {
// If filtering to get single device by mac address, also search in the set of already
// bonded devices to allow linking those directly
- if (btFilters.isEmpty() || !request.isSingleDevice()) return false;
+ if (btFilters.isEmpty() || !request.isSingleDevice()) return;
final BluetoothDeviceFilter singleMacAddressFilter =
find(btFilters, filter -> !TextUtils.isEmpty(filter.getAddress()));
- if (singleMacAddressFilter == null) return false;
+ if (singleMacAddressFilter == null) return;
- return findAndReportMatches(mBtAdapter.getBondedDevices(), btFilters)
- || findAndReportMatches(mBtManager.getConnectedDevices(
- BluetoothProfile.GATT), btFilters)
- || findAndReportMatches(mBtManager.getConnectedDevices(
- BluetoothProfile.GATT_SERVER), btFilters);
+ findAndReportMatches(mBtAdapter.getBondedDevices(), btFilters);
+ findAndReportMatches(mBtManager.getConnectedDevices(BluetoothProfile.GATT), btFilters);
+ findAndReportMatches(
+ mBtManager.getConnectedDevices(BluetoothProfile.GATT_SERVER), btFilters);
}
- private boolean findAndReportMatches(@Nullable Collection<BluetoothDevice> devices,
+ private void findAndReportMatches(@Nullable Collection<BluetoothDevice> devices,
@NonNull List<BluetoothDeviceFilter> filters) {
- if (devices == null) return false;
+ if (devices == null) return;
for (BluetoothDevice device : devices) {
final DeviceFilterPair<BluetoothDevice> match = findMatch(device, filters);
if (match != null) {
onDeviceFound(match);
- return true;
}
}
-
- return false;
}
private BluetoothBroadcastReceiver startBtScanningIfNeeded(